MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB eindeutig und wo in derselben Abfrage?

Distinct Abfrage in Mongo mit Bedingung funktioniert so

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

nicht andersherum

BEARBEITEN:

Ich verstehe das Problem jetzt, um Unterdokumente abzugleichen/zu filtern, müssen wir den $elemMatch-Operator verwenden, wie diesen

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

Dies funktioniert jedoch nicht, wenn das untergeordnete Dokument untergeordnete Arrays enthält (in Ihrem Fall haben Sie ein Array von Antworten). Es gibt ein bestehendes Problem $elemMatch on subArray is open. Und es ist für Mongo 2.1 geplant. Weitere Informationen finden Sie unter dem Link