PyMongo正在删除而不是更新文档

时间:2015-08-31 01:19:27

标签: mongodb pymongo

我正在使用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'

0 个答案:

没有答案