python - 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 中不受支持。任何想法,但如何才能完成这样的任务。

最佳答案

您必须使 distinct 调用 on the cursor从 find 而非集合中返回:

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

https://stackoverflow.com/questions/12879781/

相关文章:

mongodb - 使用 $toLower 更新 MongoDB 集合

mongodb - 如何在 MongoDB 中删除或删除集合?

mongodb - Mongo 计算一组文档中每个值的出现次数

c# - Mongodb -- 使用 c# 驱动程序包含或排除某些元素

mongodb - 使用mongodb在UTC中存储日期时如何处理时区问题?

mongodb - Spring数据MongoDb : MappingMongoConverter

python - 为什么使用 update_one 更新记录会引发 ValueError?

mongodb - 为什么不用mongodb?

mongodb - 使用 Mongo 集合中的特殊字符

python - 如何将 MongoDB 查询转换为 JSON?