MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да направя заявка за масив от речници в MongoDB?

Трябва да използвате $elemMatch за заявка за вградени документи в масив, ако искате да направите заявка с множество полета на вграден документ. Така че вашата заявка трябва да бъде така:

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

Ако искате документи за заявка, които имат (name:"x", value:"1") или (name:"y", value:"2") в същата заявка можете да използвате $or с elemMatch по този начин:

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

Ако искате документи за заявка, които имат (name:"x", value:"1") и (name:"y", value:"2") в същата заявка можете да използвате $and с elemMatch по този начин:

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. Зареждане на код за вграждане на JWplayer от колекция от база данни в шаблон на страница в meteor.js

  2. Стартирайте MongoDB от задача на Grunt

  3. дълбоко заселване в мангуста

  4. Позиционни $ работят върху различни части на един и същ документ?

  5. Типов скрипт:дълбок ключ на вложен обект със свързан тип