-1

1,Python を使用して、monogd で操作の戻り値を取得するにはどうすればよいですか? 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}}) うまくいき
ました。
なぜ?

4

2 に答える 2

3

これは私のために働いた

last_error = db.runCommand({"getLastError":1})
于 2013-07-03T13:30:56.950 に答える
1

1) 書き込み懸念キーワード引数を使用して、確実にgetLastError呼び出されるようにすることができます。さまざまな方法を以下に説明します。

  • safe : 書き込み操作ごとに getlasterror を使用しますか?
  • jまたはjournal : 書き込み操作がジャーナルにコミットされるまでブロックします。サーバーがジャーナリングなしで実行されている場合は無視されます。safe=True を意味します。
  • w : (整数または文字列) これがレプリカ セットの場合、指定された数またはタグ付きのサーバー セットにレプリケートされるまで、書き込み操作は返されません。safe=True を意味します。

必要に応じて、さまざまなレベルでこれらの書き込み懸念を設定できます。


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
}

于 2012-05-30T08:40:43.063 に答える