2014-10-08 24 views
0

如何從不區分大小寫的mongodb集合中獲取不同的值。通過給出的例子,我能夠找到不同的值。pymongo查詢不同值和不區分大小寫

collection:location schema 
{ "_id" : ObjectId("542bc237e75e4a30c2e13b7e"),"place" : ["Hyderabad"]} 
{ "_id" : ObjectId("542bc238e75e4a30c2e13b7f"),"place" : ["hyderabad"]} 

例如:從pymongo導入

MongoClient client = MongoClient('mongodb://localhost:27017/') 
db = client.india 
collection = db.location 
doc = collection.distinct("place") 
print doc [[u'Hyderabad'],[u'hyderabad']] 

但需要得到只有一個值作爲「海得拉巴」,作爲值是在兩個文件相同。

回答

0

爲什麼place是一個數組?我猜你有時候在真實文檔中有1個以上的值?首先展開,然後在其他標準compute-distinct-values聚合管道中使用$toLower字符串運算符:

db.test.aggregate([ 
    { "$unwind" : "$place" }, 
    { "$group" : { "_id" : { "$toLower" : { "$place" } } } } 
]) 
+0

感謝您分享信息 – 2015-01-29 12:16:10