2016-03-30 10 views
0

i eine Sammlung mit dem folgende Dokument als Beispiel habe:Mungo/mongoDB Abfrage durch ein Feld verschieden von einer anderen

{ 
    _id: ObjectId("56fbf2210309775d6790c1c0"), 
    city_id: 2600, 
    street_name: "hamilton", 
    branch: 6 
} 

Ist es möglich, die Sammlung von Zweig abzufragen, sondern einen deutlichen auf dem STREET_NAME benutzen?

Danke!

+0

was meinst du mit _ "distinct der STREET_NAME" _ ? – Joum

+0

Ich kann mehrere Dokumente mit dem gleichen 'street_name' haben, wenn ich zum Beispiel nach' branch' abfrage: 'find ({branch: 1})' '. Ich möchte in der Lage sein, alle Dokumente zu erhalten, die 'Branch: 1' haben, aber Duplikate von' street_name', falls vorhanden, zu entfernen. – TBE

Antwort

1

Wenn Sie nur in eindeutigen Werten unterscheiden.

können Sie

ein Array
db.yourCollectionName.distinct("street_name") 

Sie gibt. In Ihrem Fall können Sie dieses Array als Eingabe verwenden und weiter nach Zweig filtern.

mongodb Dokumentation here

Edit 1:

Oder Sie einen zweiten Parameter zu deutlichen passieren kann,

//db.collection.distinct(field, query) <-- check out docs. 
db.yourCollectionName.distinct("street_name", { branch: 1 }) 
+0

ist es möglich, in 1 Abfrage zu tun? – TBE

+0

Ja, Sie können Ihrer eigenen Abfrage auch einen zweiten Parameter hinzufügen. – jmugz3

+0

Wenn ich das tat, gibt es nur den 'street_name' zurück und nicht das gesamte Dokument – TBE

Verwandte Themen