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

Object.keys, как да получите списък с ключове в mongodb

Заявка като {"colors.*.prestock" : {$gte:30}} не е възможно според SERVER-267 и се съмнявам, че това ще се поддържа през следващите години.

Най-добре е да промените схемата на масив:

colors: [
 { "color" : "Green", "instock" : 50, ... },
 { "color" : "Yellow", "instock" : 50, ... },
]

След това можете да направите заявка

db.foo.find( {"colors.prestock" : {$gte:30}} )

Имайте предвид, че това ще върне целия обект, включително всички цветове, т.е. също и тези, за които ограничението на заявката не е валидно. Това може да бъде разрешено с помощта на рамката за агрегиране, но отново, само с помощта на $unwind което също изисква colors да бъде масив.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongodb версия 3.0.0 клиент robomongo mongovue

  2. Премахнете обект от вложен масив с $pull и $[identifier] (mongoDB 3.6)

  3. Mongoengine, извлича само част от MapField

  4. Производителност на MongoDB:Изпълнение на операции за намаляване на картата на MongoDB на вторични

  5. MongoDB заявка за n-тия елемент (индекс на променлива) от масива на поддокумент