J'utilise pymongo et je veux avoir des valeurs distinctes pour un champ de sorte que je puisse également passer d'autres paramètres de requête. Par exemple, j'ai des entrées comme:
{
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",
}
Je veux donc avoir toutes les balises distinctes dans la catégorie de film. Quelqu'un peut-il s'il vous plaît guider comment puis-je y parvenir en utilisant pymongo. Dans mongo javascript Shell, j'ai publié db.mycoll.distinct ('tags', {category: "movie"}) et cela a très bien fonctionné. Mais quand je fais de même en pymongo, cela soulève des erreurs. Je suppose que ce n'est pas pris en charge dans pymongo. Toute idée cependant comment une telle tâche peut être réalisée.
Vous devez faire l'appel distinct
sur le curseur renvoyé par un find
au lieu de sur la collection:
tags = db.mycoll.find({"category": "movie"}).distinct("tags")
pymongo (depuis la v1.1.1) prend en charge collection.distinct('key')