Kau*_*ana 6 javascript mongodb node.js
当我更新记录时,它会删除现有字段并添加新字段.
这是更新前的记录:
{ "_id" : ObjectId("56a356863aa433ae37dc2cee"), "browser" : "Chrome", "version" : 47}
Run Code Online (Sandbox Code Playgroud)
这是我执行的命令:
db.collection('profiles')
.update({
'_id' : obj("56a356863aa433ae37dc2cee") },
{"first_name" : first_name, "last_name" : last_name, "email" : email},
function (err, result) {
console.log(result);
});
Run Code Online (Sandbox Code Playgroud)
这是我执行update命令后的记录:
{ "_id" : ObjectId("56a356c9a08487ed3719e40a"), "first_name" : "kaushik", "last_name" : "makwana", "email" : "kdmakwana" }
Run Code Online (Sandbox Code Playgroud)
与更新现有集合字段相同,如果指定字段不存在,$ set将添加新字段.
> db.foo.find()
> db.foo.insert({"test":"a"})
> db.foo.find()
{ "_id" : ObjectId("4e93037bbf6f1dd3a0a9541a"), "test" : "a" }
> item = db.foo.findOne()
{ "_id" : ObjectId("4e93037bbf6f1dd3a0a9541a"), "test" : "a" }
> db.foo.update({"_id" :ObjectId("4e93037bbf6f1dd3a0a9541a") },{$set : {"new_field":1}})
> db.foo.find()
{ "_id" : ObjectId("4e93037bbf6f1dd3a0a9541a"), "new_field" : 1, "test" : "a" }
Run Code Online (Sandbox Code Playgroud)