在我的程序中,通过更新(key,doc,upsert = true)写入mongodb的十个过程mongodb更新(使用upsert = true)不更新存在数据,插入新数据?
“key”是mongodb索引,但不是唯一的。
查询= { 'hotelid':hotelid, “arrivedate”:arrivedate, “leavedate”:leavedate}
其中= “数据%S。” %的SourceID
data_value_where = {其中:value}
self.collection.update(查询,{ '$集':data_value_where},真)
“查询” 的id不是唯一的指标
我发现有时更新不更新存在数据,但创建新数据。
我为update方法返回一个日志,返回值为“{u'ok':1.0,u'err':None,u'upserted':ObjectId('5245378b4b184fbbbea3f790'),u'singleShard':u 'rs1/192.168.0.21:10000,192.168.1.191:10000,192.168.1.192:10000,192.168.1.41:10000,192.168.1.113:10000',u'connectionId':1894107,u'n':1,u'我更改了更新方法(query,{'$ set':data_value_where},upsert = True,safe = True),但是三个没有改变对于这个问题。
谁降低了某人试图提出一个合法的问题,但显然有限的英语打字技巧?真丢脸。为什么不帮助句容重写它,因此它更容易理解? –
@DanGayle谢谢 – chjuheng
我修改了这个问题,并在上面写了一些日志。感谢所有的重播。 – chjuheng