我正在使用MongoDB来维护广播位置列表 天线的地理位置。
我正在使用pymongo将位置推送到像[{lat: nnn.dd, lon: nnn.dd}, {lat: nnn.dd, lon: nnn.dd}]
我正在阅读位置数据文件。我的更新如下:
stations.update(
{"facility-id": fac_id},
{"$push": {"antennas": {"lat": lat, "lon": lon}}}
)
第一次此更新在给定的工具ID上运行时,它确实正确地更新了数据库中的文档。但是,同一工具ID的第二次更新将完全删除该文档。
为什么会这样?我想将新坐标添加到天线阵列。
注意,重复的地理坐标是可以的。
根据这里的评论是一个程序。运行一次,更新现有文档。再次运行它并删除文档:
from pymongo import MongoClient
client = MongoClient()
dbname="test"
db = client[dbname]
stations = db.stations
lat=456.45
lon=-321.90
fac="2"
stations.update(
{"facility-id": fac},
{"$push": {"antennas": {"lat": lat, "lon": lon}}}
)
print 'done'