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

mongoDB distinct et où dans la même requête ?

Distinct la requête en mongo avec la condition fonctionne comme ceci

 db.Article.distinct("Comment.Reply.ip",{"Comment.Reply.email" : "xxx"})

pas l'inverse

MODIF :

Je comprends maintenant le problème, pour faire correspondre/filtrer les sous-documents, nous devons utiliser l'opérateur $elemMatch, comme celui-ci

  db.Article.distinct("Comment.Reply.ip",{Comment: {$elemMatch: {"Reply.email" : "xxx"}}})

mais cela ne fonctionnera pas si le sous-document contient des sous-tableaux (dans votre cas, vous avez un tableau de réponses). Il y a un problème existant $elemMatch on subArray is open. Et c'est prévu pour mongo 2.1. Vous pouvez consulter le lien pour plus d'informations