Sus*_*pta 33 python mongodb 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",
}
Run Code Online (Sandbox Code Playgroud)
所以我希望在电影类别下拥有所有不同的标签.任何人都可以指导我如何使用pymongo实现这一目标.在mongo javascript shell中,我发布了db.mycoll.distinct('tags',{category:"movie"}),它运行得很好.但是当我在pymongo中做同样的事情时,它会引发错误.我想pymongo不支持它.但是,任何想法都可以实现这样的任务.
Joh*_*yHK 57
您必须对从a 而不是集合返回的光标进行distinct调用:find
tags = db.mycoll.find({"category": "movie"}).distinct("tags")
Run Code Online (Sandbox Code Playgroud)
实际上,您可以在 pymongo 文档中提到的不同方法中传递一个过滤器参数,
像这样
distinct_tags = db.mycoll.distinct("tags",{"category": "movie"})
Run Code Online (Sandbox Code Playgroud)