【发布时间】:2014-06-13 04:15:29
【问题描述】:
我想更新一个包含 lat,lng 值的数组。下面给出了我的来自 python 的更新查询。
client.mydb.mycoll.update({"_id":123},{'$push':{"loc":{"lng":77.77,"lat":12.12}}} )
集合已经在“loc”数组中有一些值,如下所示
{ "_id" : 123, "loc" : [ { "lng" : 77.6104193, "lat" : 12.9264116 } ], "name" : "myname" }
更新查询的问题在于它将新的“loc”元素存储为
{ "_id" : 123, "loc" : [ { "lng" : 77.6104193, "lat" : 12.9264116 },{"lat":12.12,"lng":77.77} ], "name" : "myname " }
我需要按“lng”拳头然后“lat”的顺序存储 loc 数据。这样以后,我可以使用 $near 运算符 ({loc:{$near:[77.77,12.12]}}) 进行查询。 python字典总是存储按key排序的键值对,我该怎么做呢?
【问题讨论】:
标签: python mongodb dictionary geolocation