如何从MongoDB集合的tags字段中获取所有唯一值?
需求
从MongoDB集合中提取tags数组字段的所有唯一值。
样本记录
[ { "name": "name1", "status": "one", "unit": [], "child": [], "element": ["6604"], "tags": ["tag1", "tag2", "tag3"] }, { "name": "name2", "status": "one", "unit": [], "child": [], "element": ["6604"], "tags": ["tag1", "tag2", "tag3", "tag4"] } ]
错误尝试代码
tagsdata = dbname.distinct('tags.values')
解决方案
你指定的字段路径有误,tags本身就是数组类型字段,MongoDB的distinct()方法会自动展开数组并返回所有唯一值,直接传入tags作为参数即可:
tagsdata = dbname.distinct('tags')
执行后会得到期望的结果:
["tag1","tag2","tag3","tag4"]
内容的提问来源于stack exchange,提问作者python_beginner
相关产品推荐
相关产品推荐

