nedb に次のデータがあります。
["UserId":"1446943507761","UserName":"xxx","link":"xxx.html","taskDone":"false","id":14,"_id":"fdaaTWSxloQZdYlT"]
["UserId":"1446943507761","UserName":"xxx","link":"xxx.html","taskDone":"false","id":1,"_id":"fzh2cedAXxT76GwB"]
["UserId":"1446943507761","UserName":"xxx","link":"xxx.html","taskDone":"false","id":0,"_id":"k4loE7XR5gioQk54"]
ID 0 で行を更新し、taskDone の値を true に設定しようとしています。次のクエリを使用して、値を true に設定します
db.taskmap.update({ _id: "k4loE7XR5gioQk54", UserName:"xxx" }, { $set: { taskDone: "true"} }, function (err, numReplaced) {
console.log("replaced---->" + numReplaced);
});
値を更新しますが、新しい行として更新します。基本的に、taskdone 値が true であることを除いて、同じ値を持つ新しい行を挿入します。既存のデータは削除されません。したがって、更新後の最終的なデータ テーブルでは、id 0 の 2 つの行が取得され、taskDone を除いてすべての値が同じになります。私が何か間違ったことをしているかどうかはわかりません。誰かが値を更新する正しい方法を教えてくれると助かります。