sql >> Databasteknik >  >> NoSQL >> MongoDB

Mongo:hitta underdokument utan punktnotering

Problemet är att:

db.test.find({field: {$someOperator: {subfield: /regex/}}})

Är faktiskt ett annat sätt att fråga i MongoDB som använder objekt euqality för att söka efter underdokument.

Så nej, du måste använda punktnotation om du inte letade efter var ett objekt exakt är lika med det andra.

Med det sagt kan du slå in dokumentet i $elemMatch :http://docs.mongodb.org/manual/reference/operator/elemMatch / det skulle fungera

Redigera

Med tanke på din samlingsstruktur $elemMatch kommer faktiskt inte att fungera.



  1. Anslutningen återställd av Peer pymongo

  2. Pymongo API TypeError:Unhashable dict

  3. Rails 4 och mongoid:skapa programmässigt en fråga med flera OCH- och ELLER-villkor

  4. Mongoose bulkuppdateringsoperation