以下のクエリを実行していますが、機能しません。mongo UI でクエリ部分を実行すると、期待どおりの結果が返されます。私はUMongoを使用しています。しかし、期待どおりにドキュメントを更新しません。
db.system.js.save ({
_id:"script_1",
value: function() {
print("in function>>");
db.data.find({"$and":
[{"title":{$regex : '.*Green Red.*', $options : 's'}},
{"editor.key": {"$in": ["74014","45339"]}}, {"types" : {"$in": ["Notes"]}}]}).forEach(
function(docMatch){
print("Matching document found");
db.data.update(docMatch,
{$set:{"editor.key": "05335","editor.value": "editor1",
"editor.email": "editor1@gmail.com"}
}, false, true);
}
);
db.data.reIndex();
}
});
db.eval("script_1()");
mongo ログに「一致するドキュメントが見つかりました」と表示されますが、更新されません。ログにも以下のメッセージが表示されます。
Thu Sep 19 11:03:43 [conn1279] warning: ClientCursor::yield can't unlock b/c of recursive lock ns
助けてくれてありがとう!