MongoDb中save与insert区别

来源:互联网 发布:韩国女团 知乎 编辑:程序博客网 时间:2024/06/07 22:29

当主键"_id"不存在时,都是添加一个新的文档,但主健"_id"存在时,就有些不同了

insert:当主键"_id"在集合中存在时,不做任何处理。

save:当主键"_id"在集合中存在时,进行更新。


> db.saveinfo.insert({"_id":1,"name":"test save upsert"})
> db.saveinfo.find()
{ "_id" : 1, "name" : "test save upsert" }
> db.saveinfo.insert({"_id":1,"name":"insert or save"})
E11000 duplicate key error index: test.saveinfo.$_id_  dup key: { : 1.0 }
> db.saveinfo.find()
{ "_id" : 1, "name" : "test save upsert" }
> db.saveinfo.save({"_id":1,"name":"insert or save"})
> db.saveinfo.find()
{ "_id" : 1, "name" : "insert or save" }
>
0 0