如何从不区分大小写的mongodb集合中获取不同的值。通过给定的示例,我可以找到不同的值。
collection:location schema
{ "_id" : ObjectId("542bc237e75e4a30c2e13b7e"),"place" : ["Hyderabad"]}
{ "_id" : ObjectId("542bc238e75e4a30c2e13b7f"),"place" : ["hyderabad"]}
Ex:来自pymongo import
MongoClient client = MongoClient('mongodb://localhost:27017/')
db = client.india
collection = db.location
doc = collection.distinct("place")
print doc [[u'Hyderabad'],[u'hyderabad']]
但是只需要将一个值作为'hyderabad',因为两个文档中的值相同。
答案 0 :(得分:0)
为什么place
是一个数组?我猜你有>有时在真实文件中的1个值?首先展开,然后在另外标准的compute-distinct-values聚合管道中使用$toLower
字符串运算符:
db.test.aggregate([
{ "$unwind" : "$place" },
{ "$group" : { "_id" : { "$toLower" : { "$place" } } } }
])