MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak wysłać zapytanie do tablicy słowników w MongoDB?

Musisz użyć $elemMatch do zapytania o osadzony dokument w tablicy, jeśli chcesz wykonać zapytanie z wieloma polami osadzonego dokumentu. Twoje zapytanie powinno wyglądać tak:

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

Jeśli potrzebujesz dokumentów zapytań, które mają (name:"x", value:"1") lub (name:"y", value:"2") w tym samym zapytaniu możesz użyć $or z elemMatch tak:

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

Jeśli potrzebujesz dokumentów zapytań, które mają (name:"x", value:"1") i (name:"y", value:"2") w tym samym zapytaniu możesz użyć $and z elemMatch tak:

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. Indeksowanie MongoDB dla aplikacji Parse Server

  2. NodeJS + Mongo:Wstaw, jeśli nie istnieje, w przeciwnym razie - zaktualizuj

  3. Facebook user_id jako MongoDB BSON ObjectId?

  4. Mongoose _id zmieniony przed zapisaniem

  5. MongoDB findAndModify()