Toto je chování filtrování víceúrovňového vloženého dokumentu, normálně by odpovídající filtr vrátil celý dokument, nikoli podmnožiny.
Obvykle positional operator $
používá se ke shodě dílčích dokumentů v updates
. Tato funkce však ještě není implementována v návratových specifikátorech.
V mongu již existuje nevyřešený problém Podpora pro poziční ($) operátor v polích pro návrat specifikátoru . (Pokud tuto funkci opravdu potřebujete, přihlaste se, abyste mohli hlasovat.)
Takže musíte přepracovat své schéma, abyste to zvládli, může to být takto
db.test.insert({"person" : [ { "id":1, "details" : { "name" : "Aswini", "Age" : 10 }}]})
db.test.insert({"person" : [ { "id":2, "details" : { "name" : "Mahesh", "Age" : 11}}]})
db.test.find({"person.id":1},{'person.details':1})