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

Object.keys, hvordan man får en liste over nøgler i mongodb

En forespørgsel som {"colors.*.prestock" : {$gte:30}} er ikke muligt ifølge SERVER-267 , og jeg tvivler på, at dette vil blive understøttet i de næste år.

Dit bedste bud er at ændre skemaet til et array:

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

Så kan du forespørge

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

Bemærk, at dette vil returnere hele objektet, inklusive alle farver, dvs. også dem, for hvilke forespørgselsbegrænsningen ikke gælder. Dette kunne løses ved hjælp af aggregeringsrammerne, men igen, kun ved hjælp af $unwind som også kræver colors at være en matrix.



  1. Hvordan kan jeg forespørge mongodb ved hjælp af mongoid/skinner uden timeout?

  2. Mongodb:deling af en database mellem to computere

  3. MongoDB Hvordan får vi alle AKTUELLE åbne markører og de forespørgsler, de kører?

  4. Opdater alle elementer i et array i mongodb