MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come trovare il record abbinato in mongodb?

Questo è il comportamento del filtraggio di documenti incorporati a più livelli, normalmente il filtro corrispondente restituirebbe l'intero documento, non i sottoinsiemi.

Solitamente positional operator $ utilizzato per abbinare i documenti secondari in updates . Ma la funzione non è ancora implementata negli specificatori di ritorno.

Esiste già un problema in sospeso in mongo Supporto per l'operatore posizionale ($) nei campi per restituire lo specificatore . (Accedi per votare se hai davvero bisogno della funzione)

Quindi devi ridisegnare il tuo schema per gestirlo, potrebbe essere così

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