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

Mongoose tìm tất cả các tài liệu có array.length lớn hơn 0 &sắp xếp dữ liệu

Giả sử mô hình của bạn được gọi là Employee :

Employee.find({ "departments.0": { "$exists": true } },function(err,docs) {

})

$exists yêu cầu 0 chỉ mục của một mảng có nghĩa là nó có một cái gì đó trong đó.

Điều tương tự cũng áp dụng cho số lượng tối đa:

Employee.find({ "departments.9": { "$exists": true } },function(err,docs) {

})

Vì vậy, cần phải có ít nhất 10 mục nhập trong mảng để khớp.

Thực sự thì bạn nên ghi lại độ dài của mảng và cập nhật bằng $inc mỗi khi một cái gì đó được thêm vào. Sau đó, bạn có thể làm:

Employee.find({ "departmentsLength": { "$gt": 0 } },function(err,docs) {

})

Trên thuộc tính "DepartmentLength" mà bạn lưu trữ. Thuộc tính đó có thể được lập chỉ mục, điều này làm cho nó hiệu quả hơn nhiều.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. cụm mongodb với điểm cuối ELB là dns

  2. Không kết nối được với máy chủ mongodb từ xa

  3. Tài liệu con tổng hợp / dự án dưới dạng tài liệu cấp cao nhất trong mongo

  4. Các bước cài đặt MongoDB trên Amazon Linux

  5. Lumen - mongodb - jenssegers / laravel-mongodb - người đưa thư