sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur hittar man det matchade rekordet i mongodb?

Detta är beteendet för att filtrera inbäddade dokument på flera nivåer, normalt skulle det matchande filtret returnera hela dokumentet, inte delmängderna.

Vanligtvis positional operator $ används för att matcha underdokumenten i updates . Men funktionen är ännu inte implementerad i returspecifikationer.

Det finns ett kvarstående problem redan i mongo Stöd för positionsoperatör ($) i fält för att returnera specificator . (Logga in för att rösta om du verkligen behövde funktionen)

Så du måste göra om ditt schema för att hantera detta, kan vara så här

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. Mongoose:Få hela listan över användare

  2. Automatisk radering av dokument från mongodb efter angiven tid

  3. Hur fjärransluter jag till min MongoDB på min server med java?

  4. varför gör jag ett 2dsphere-index, men när jag frågar visar det s2cursor?