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

Làm cách nào để truy vấn một loạt các từ điển trong MongoDB?

Bạn phải sử dụng $ elemMatch để truy vấn tài liệu nhúng trong một mảng nếu bạn muốn truy vấn với nhiều trường tài liệu nhúng. Vì vậy, truy vấn của bạn sẽ như thế này:

db.collection.find( {
  "A": { $elemMatch: { name: "x", value: "1" } }
})

Nếu bạn muốn các tài liệu truy vấn có (name:"x", value:"1") hoặc (name:"y", value:"2") trong cùng một truy vấn, bạn có thể sử dụng $or với elemMatch như thế này:

db.collection.find( {
  $or: [
    { "A": { $elemMatch: { name: "x", value: "1" } } },
    { "A": { $elemMatch: { name: "y", value: "2" } } }
  ]  
})

Nếu bạn muốn các tài liệu truy vấn có (name:"x", value:"1") (name:"y", value:"2") trong cùng một truy vấn, bạn có thể sử dụng $and với elemMatch như thế này:

db.collection.find( {
  $and: [
    { "A": { $elemMatch: { name: "x", value: "1" } } },
    { "A": { $elemMatch: { name: "y", value: "2" } } }
  ]  
})


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDb:mapReduce ra kết quả thu thập

  2. Tùy chọn Mongodb Read

  3. Sử dụng các hứa hẹn ES6 bản địa với MongoDB

  4. Làm thế nào để nhận được 5 tài liệu cuối cùng theo thứ tự tuần tự?

  5. mongoDB - trung bình trên các giá trị mảng