MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

mongoose / mongodb tùy chỉnh sắp xếp

Bạn có thể muốn sử dụng db.eval nếu bạn quyết tâm thực hiện việc này ở phía cơ sở dữ liệu.

Câu trả lời được trích từ một câu hỏi khác:

Tôi không nghĩ rằng điều này là có thể trực tiếp; tài liệu phân loại chắc chắn không đề cập đến bất kỳ cách nào để cung cấp chức năng so sánh tùy chỉnh.

Có lẽ tốt nhất bạn nên thực hiện việc sắp xếp trong máy khách, nhưng nếu bạn thực sự quyết tâm thực hiện việc đó trên máy chủ, bạn có thể sử dụng db.eval() sắp xếp để chạy sắp xếp trên máy chủ (nếu khách hàng của bạn hỗ trợ).

Sắp xếp phía máy chủ:

db.eval(function() { 
  return db.scratch.find().toArray().sort(function(doc1, doc2) { 
    return doc1.a - doc2.a 
  }) 
});

So với sắp xếp phía máy khách tương đương:

db.scratch.find().toArray().sort(function(doc1, doc2) { 
  return doc1.a - doc2.b 
});


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. SQL LPAD ()

  2. Không muốn bắt đầu mongod bằng `sudo mongod`

  3. Chạy tập lệnh javascript (tệp .js) trong mongodb bao gồm một tệp khác bên trong js

  4. Nếu tôi có id tài liệu mongo dưới dạng một chuỗi, làm cách nào để truy vấn nó dưới dạng _id?

  5. MongoDB nhanh nhất trên Azure!