MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment trouver l'enregistrement correspondant dans mongodb ?

C'est le comportement du filtrage d'un document intégré à plusieurs niveaux, normalement le filtre correspondant renverrait le document entier, pas les sous-ensembles.

Généralement positional operator $ utilisé pour faire correspondre les sous-documents dans les updates . Mais la fonctionnalité n'est pas encore implémentée dans les spécificateurs de retour.

Il existe déjà un problème en suspens dans mongo Prise en charge de l'opérateur positionnel ($) dans les champs pour renvoyer le spécificateur . (Veuillez vous connecter pour voter si vous avez vraiment besoin de cette fonctionnalité)

Vous devez donc redéfinir votre schéma pour gérer cela, peut-être comme ça

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