Подтвердить что ты не робот

Pymongo- Как я могу иметь различные значения для поля вместе с другими параметрами запроса

Я использую pymongo и хочу иметь разные значения для поля, чтобы я мог передавать другие параметры запроса. Например, у меня есть записи вроде:

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

Итак, я хочу иметь все различные теги под категорией фильма. Может ли кто-нибудь объяснить, как я могу добиться этого, используя pymongo. В mongo javascript shell я выпустил db.mycoll.distinct('tags', {category: "movie" }), и он работал отлично. Но когда я делаю то же самое в pymongo, это вызывает ошибку. Я думаю, это не поддерживается в pymongo. Любая идея, но как можно достичь такой задачи.

4b9b3361

Ответ 1

Вы должны сделать distinct вызов на курсоре, возвращенный из find, а не в коллекции:

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