sql >> Database >  >> NoSQL >> MongoDB

Object.keys, hoe krijg je een lijst met sleutels in mongodb

Een zoekopdracht zoals {"colors.*.prestock" : {$gte:30}} is niet mogelijk volgens SERVER-267 , en ik betwijfel of dit in de komende jaren zal worden ondersteund.

Je kunt het beste het schema wijzigen in een array:

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

Dan kunt u opvragen

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

Merk op dat dit het hele object retourneert, inclusief alle kleuren, d.w.z. ook die waarvoor de querybeperking niet geldt. Dit kan worden opgelost met behulp van het aggregatieraamwerk, maar nogmaals, alleen met behulp van $unwind waarvoor ook colors . nodig zijn een array zijn.



  1. mangoest lege objecten of arrays verwijderen

  2. Hoe laat ik Eve naar verschillende databases schrijven op basis van verschillende URL-parameters en aanvraagwaarden?

  3. Meteor:verschil tussen namen voor collecties, variabelen, publicaties en abonnementen?

  4. Vragen met Redis?