2012-10-14 7 views
21

Używam pymongo i chcę mieć różne wartości dla pola, tak, że mogę również przekazać inne parametry zapytania. Na przykład, mam wpisy takie jak:pymongo- Jak mogę mieć różne wartości dla pola wraz z innymi parametrami zapytania

{ 
    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", 
} 

Chcę więc mieć wszystkie odrębne znaczniki w kategorii filmów. Czy ktokolwiek może wskazać, w jaki sposób mogę to osiągnąć za pomocą pymongo. W powłoce javascript Mongo wydałem db.mycoll.distinct ('tags', {category: "movie"}) i działało dobrze. Ale kiedy robię to samo w pymongo, pojawia się błąd. Chyba nie jest obsługiwany w pymongo. Jakikolwiek pomysł, jak można osiągnąć takie zadanie.

Odpowiedz

41

Trzeba dokonać distinct połączenia on the cursor wróciłem z find zamiast w kolekcji:

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

Dziękuje przyjaciela, miałem prawdziwe kłopoty z to :) –

Powiązane problemy