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

hvordan man forespørger underordnede objekter i mongodb

Hvis det er nøjagtigt null (i modsætning til ikke indstillet):

db.states.find({"cities.name": null})

(men som javierfp påpeger, matcher det også dokumenter, der ikke har nogen byer overhovedet, det antager jeg, at de har).

Hvis det er tilfældet, at egenskaben ikke er indstillet:

db.states.find({"cities.name": {"$exists": false}})

Jeg har testet ovenstående med en samling oprettet med disse to indlæg:

db.states.insert({"cities": [{name: "New York"}, {name: null}]})
db.states.insert({"cities": [{name: "Austin"}, {color: "blue"}]})

Den første forespørgsel finder den første tilstand, den anden forespørgsel finder den anden. Hvis du vil finde dem begge med én forespørgsel, kan du lave en $or forespørgsel:

db.states.find({"$or": [
  {"cities.name": null}, 
  {"cities.name": {"$exists": false}}
]})


  1. hvordan man gemmer et komplekst objekt i redis (ved hjælp af redis-py)

  2. Hvordan fjerner man et dokument refereret af et id i mongoDB fra php?

  3. Enkel planlægning af vedligeholdelsesvinduer på tværs af dine databaseklynger

  4. Hvordan forespørger man mongodb med "synes godt om" ved hjælp af java api?