sql >> Databáze >  >> NoSQL >> MongoDB

Mongo:vyhledejte vnořený dokument bez tečkové notace

Problém je v tom, že:

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

Je to vlastně další způsob dotazování v MongoDB, který využívá euqality objektů k hledání vnořených dokumentů.

Takže ne, musíte použít tečkovou notaci, pokud jste nehledali, kde se jeden objekt přesně rovná druhému.

Jak již bylo řečeno, můžete dokument zabalit do $elemMatch :http://docs.mongodb.org/manual/reference/operator/elemMatch / to by fungovalo

Upravit

Vzhledem ke struktuře vaší kolekce $elemMatch ve skutečnosti nebude fungovat.



  1. Klíč nesmí obsahovat . chyba v pymongo

  2. Mám vrátit pole nebo data jeden po druhém v Mongoose

  3. jak odstranit pole s hodnotou null po zrušení nastavení v mongodb

  4. Aktualizace MongoDB MapReduce na místě, jak na to