sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvordan forespørger jeg en række ordbøger i MongoDB?

Du skal bruge $elemMatch for at forespørge på indlejrede dokumenter i et array, hvis du vil forespørge med flere felter af indlejret dokument. Så din forespørgsel skulle være sådan her:

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

Hvis du ønsker forespørgselsdokumenter, som har (name:"x", value:"1") eller (name:"y", value:"2") i samme forespørgsel kan du bruge $or med elemMatch sådan her:

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

Hvis du ønsker forespørgselsdokumenter, som har (name:"x", value:"1") og (name:"y", value:"2") i samme forespørgsel kan du bruge $and med elemMatch sådan her:

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


  1. Hvordan kombinerer de sorterede sæt Redis?

  2. hvordan man sorterer array af objekter efter vilkårlig liste i mongo

  3. Meteor filtrerer dynamisk dropdown, når en anden dropdown er valgt

  4. Sådan sender du argumenter til Mongo Script