MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Bagaimana cara saya menanyakan array kamus di MongoDB?

Anda harus menggunakan $elemMatch untuk menanyakan dokumen yang disematkan dalam larik jika Anda ingin membuat kueri dengan beberapa bidang dokumen yang disematkan. Jadi kueri Anda harus seperti ini:

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

Jika Anda menginginkan dokumen kueri yang memiliki (name:"x", value:"1") atau (name:"y", value:"2") dalam kueri yang sama, Anda dapat menggunakan $or dengan elemMatch seperti ini:

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

Jika Anda menginginkan dokumen kueri yang memiliki (name:"x", value:"1") dan (name:"y", value:"2") dalam kueri yang sama, Anda dapat menggunakan $and dengan elemMatch seperti ini:

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. Bagaimana cara mengakses koleksi yang sudah ada sebelumnya dengan Mongoose?

  2. Bagaimana data dalam database MongoDB disimpan di disk?

  3. bagaimana saya bisa melihat port apa yang didengarkan mongo dari shell mongo?

  4. Bagaimana cara mengurutkan array sub-dokumen di luwak/mongodb?

  5. Bagaimana cara mengembalikan boolean dalam kategori mongodb