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

mongodb достъп до поддокументи

Това всъщност не е така. Първата заявка, db.users.find({"user":{"login":"tester"}}); , означава, че търсите user което е равно на {"login":"tester"} обект напълно, а не потребител с login поле е равно на tester . Има един документ, който отговаря на този критерий и този документ всъщност се връща като резултат от заявката.

По същия начин, втората заявка, db.users.find({"user":{"name":"anil"}}); , означава, че търсите user което е равно на {"name":"anil"} обект напълно. Няма такъв user . Има един документ, който частично съвпада с вашето запитване, но това не е достатъчно.

Ако търсите user с name е равно на anil , използвайте точкова нотация за достъп до поддокумента, както направихте във втората си група заявки.

да това е правилният начин.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Връщане на празен масив от публикации при използване на mongoose populate

  2. Най-добри практики за актуализиране на асинхронно дублирани данни в mongodb

  3. Заявка за бавен диапазон на многоключов индекс

  4. Как да направите ляво присъединяване в DB (Mongo)

  5. Конвертирайте съществуващ атрибут на MongoDB низ в BSON::ObjectId