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

Jak najít odpovídající záznam v mongodb?

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})


  1. Spring Data Mongo - použijte jedinečná kombinační pole ve vloženém dokumentu

  2. Jak najít číslo řádku řádku v seřazené kolekci MongoDB pro výpočet jeho percentilu?

  3. Podmínky shody a nejnovější datum z pole

  4. Laravel:Jak zkontrolovat dostupnost Redis?