sql >> Databasteknik >  >> NoSQL >> MongoDB

Object.keys, hur man får en lista med nycklar i mongodb

En fråga som {"colors.*.prestock" : {$gte:30}} är inte möjligt enligt SERVER-267 , och jag tvivlar på att detta kommer att stödjas under de kommande åren.

Det bästa är att ändra schemat till en array:

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

Sedan kan du fråga

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

Observera att detta kommer att returnera hela objektet, inklusive alla färger, d.v.s. även de för vilka frågebegränsningen inte gäller. Detta skulle kunna lösas med hjälp av aggregeringsramverket, men återigen, bara med $unwind som också kräver colors att vara en array.



  1. Redis replikeringskonfiguration

  2. Hur tolkar man lastErrorObject-egenskaperna som returneras från MongoDB?

  3. Två noder MongoDB replica set utan arbiter

  4. Använda MongoDB-genererade _ids som hemliga data (t.ex. OAuth-tokens)