2012-10-14 4 views
21

Ich benutze Pymongo und möchte verschiedene Werte für ein Feld haben, so dass ich auch andere Abfrageparameter übergeben kann. Zum Beispiel habe ich Einträge wie:pymongo- Wie kann ich verschiedene Werte für ein Feld zusammen mit anderen Abfrageparametern haben

{ 
    id = "my_id1" 
    tags: [tag1, tag2, tag3], 
    category: "movie", 
} 
{ 
    id = "my_id2" 
    tags: [tag3, tag6, tag9], 
    category: "tv", 
} 
{ 
    id = "my_id3" 
    tags: [tag2, tag6, tag8], 
    category: "movie", 
} 

Also ich möchte alle eindeutigen Tags unter Filmkategorie haben. Kann mir jemand bitte sagen wie ich das mit Pymongo erreichen kann. In mongo javascript shell habe ich db.mycoll.distinct ('tags', {category: "movie"}) ausgegeben und es hat gut funktioniert. Aber wenn ich das gleiche in Pymongo mache, erhöht sich der Fehler. Ich denke, es wird nicht in Pymongo unterstützt. Irgendeine Idee, obwohl wie eine solche Aufgabe erreicht werden kann.

Antwort

41

Sie haben die distinct Anruf tätigen on the cursor von einem find zurück statt auf der Sammlung:

tags = db.mycoll.find({"category": "movie"}).distinct("tags") 
+1

Dank Freund unterstützt, war ich echte Probleme, mit es :) –

Verwandte Themen