如何在pymongo中使用getLastError



1,我如何在monogd中获取我的操作的返回值,通过python ?我知道getLastError可以在javascript中使用。

2,设置修改有限制吗?如果我使用
collection.update({"notification":"yes"},{"$set":{ "idx":idx,"src_md5":src_md5,"src_size":src_size,"src_time":int(src_time)},"$addToSet":
{"server_list":host_name}})

它没有用。
但是当我使用
collection.update({"notification":"yes"},{"$set":
{"idx":idx,"src_md5":src_md5,"src_size":src_size},"$set":
{"src_time":int(src_time)},"$addToSet":{"server_list":host_name}})
成功了。
为什么?

这对

我有用

last_error = db.runCommand({"getLastError":1})

1) 您可以使用 write concern 关键字参数来确保调用getLastError。 下面介绍了各种方法:

  • 安全:对每个写入操作使用 getlasterror?
  • j 或日志:阻止,直到写入操作提交到日志。如果服务器在没有日志记录的情况下运行,则忽略。表示安全=真。
  • w:(整数或字符串)如果这是副本集,则写入操作在复制到指定数字之前不会返回或标记的服务器集。表示安全=真。

您可以根据需要在不同的级别设置这些写入关注点:

  • 连接级别:
  • 数据库级别
  • 集合级别
  • 关于单个查询

2)您的查询看起来不错,这是一个测试:


db.test2.save({notification: 'yes'})
db.test2.update({"notification": "yes"}, {
    "$set": {"idx": 'a', "src_md5": 'b', "src_size": 'c', "src_time": 1}, 
    "$addToSet": {"server_list": 'stackoverflow'}
})
db.test2.find()

{
    "_id" : ObjectId("4fc5decf0631996582479878"),
    "idx" : "a",
    "notification" : "yes",
    "server_list" : [
        "stackoverflow"
    ],
    "src_md5" : "b",
    "src_size" : "c",
    "src_time" : 1
}

相关内容

  • 没有找到相关文章

最新更新