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

MongoDB Tìm Khớp Mảng Chính xác nhưng thứ tự không quan trọng

Câu trả lời được chấp nhận hiện tại KHÔNG đảm bảo khớp chính xác trên mảng của bạn, chỉ là kích thước giống hệt nhau và mảng chia sẻ ít nhất một mục với mảng truy vấn.

Ví dụ:truy vấn

db.coll.find({ "hobbies": { "$size" : 2, "$in": [ "2", "1", "5", "hamburger" ] }  });

vẫn sẽ trả lại kaushik cho người dùng trong trường hợp đó.

Những gì bạn cần làm để có một kết hợp chính xác là kết hợp $size với $all , như vậy:

db.coll.find({ "hobbies": { "$size" : 2, "$all": [ "2", "1" ] }  });

Nhưng hãy lưu ý rằng đây có thể là một hoạt động rất tốn kém, tùy thuộc vào số lượng và cấu trúc dữ liệu của bạn. để bạn có thể dựa vào thứ tự tĩnh khi truy vấn.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Truy vấn với mongoose và ngày tháng

  2. Tạo Spring-data-mongodb nhiều người thuê

  3. MongoDB:Không thể chuẩn hóa truy vấn:BadValue Projection không thể có kết hợp bao gồm và loại trừ

  4. Cuộc chiến của các cơ sở dữ liệu NoSQL - So sánh MongoDB và Oracle NoSQL

  5. Cách tạo trình rút ngắn URL với Node.js và MongoDB