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

jak odpytywać obiekty podrzędne w mongodb

Jeśli jest dokładnie null (w przeciwieństwie do nieustawionego):

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

(ale jak wskazuje javierfp, dopasowuje również dokumenty, które w ogóle nie mają tablicy miast, zakładam, że tak).

Jeśli tak jest, że właściwość nie jest ustawiona:

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

Testowałem powyższe z kolekcją utworzoną z tych dwóch wstawek:

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

Pierwsze zapytanie odnajduje pierwszy stan, drugie zapytanie odnajduje drugi. Jeśli chcesz znaleźć je oba za pomocą jednego zapytania, możesz utworzyć $or zapytanie:

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


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Różnica między .save() a użyciem update()

  2. używa czasu utworzenia mongodb ObjectId

  3. MongoDB:Jak wykonać zapytanie o rekordy, w których pole ma wartość NULL lub nie jest ustawione?

  4. mangusta różnica findOneAndUpdate i aktualizacja

  5. MongoDB $sortByCount operator agregacji