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

как да заявявам дъщерни обекти в mongodb

Ако е точно null (за разлика от не е зададено):

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

(но както посочва javierfp, той съвпада и с документи, които изобщо нямат масив от градове, предполагам, че имат).

Ако е така, че свойството не е зададено:

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

Тествах горното с колекция, създадена с тези две вложки:

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

Първата заявка намира първото състояние, втората заявка намира второто. Ако искате да ги намерите и двете с една заявка, можете да направите $or заявка:

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. Как да направя повече от/по-малко от използването на MongoDB?

  2. Може ли mongo да повиши данни от масива?

  3. Автоматизиране и управление на MongoDB в облака

  4. MongoDB Aggregation:Как да получите общия брой записи?

  5. SQL COALESCE() Обяснено