Mongo DB中的保存和插入有什么区别?

db.users.save({username:"google",password:"google123"})

db.users.insert({username:"google",password:"google123"})

推荐答案

Save Vs Insert :

在你给出的例子中,行为本质上是相同的.

如果使用"_id"参数传递save,则其行为会有所不同.

为了保存,如果文档包含_id,它将在_id字段上向上插入查询集合,如果没有,它将插入.

如果不存在具有指定_id值的文档,save()方法将使用文档中的指定字段执行插入.

如果存在具有指定_id值的文档,save()方法将执行更新,用文档中的字段替换现有记录中的所有字段.


Save vs Update :

100修改与查询参数匹配的现有文档.如果没有这样的匹配文档,那么upsert就会出现在图片中.

  • upsert : false:如果没有这样的文件,什么都不会发生
  • upsert : true:创建新文档,其内容等于查询参数和更新参数

100:不允许任何查询参数.如果_id存在,并且有一个与_id相同的匹配文档,它将替换它.当没有指定_id/没有匹配的文档时,它会将该文档作为新文档插入.

Mongodb相关问答推荐

用其他集合中的文档替换嵌套文档数组中的值

MongoDB v4.4聚合的$getfield替代方案

如何联接Mongoose中的集合并检索特定字段

如何在 MongoDB 中的集合下查找同一文档

如何在 kubernetes 中获取分片 mongodb 的备份

MongoDB:通过嵌套数组中的最后一个元素值获取文档

如何使用指南针连接到 mongodb replicaset (k8s)

用Golang减go mongodb中的两个字段

Mocking/stubbing mongoose模型保存方法

为什么mongodb的文档中存储键名

获取收集字节使用情况统计信息的pymongo方法?

mongo php副本连接非常慢

mongodb无法启动

MongoDB:在集合上设置 TTL 索引时出错: sessions

如何在我的Meteor 应用程序数据库中使用 mongoimport?

适用于 Windows 10 64 位的 MongoDB 下载

是否可以在 Mongodb 中的两个数据库之间进行 $lookup 聚合?

MongoDB Compass timeouts超时

Hadoop Map/Reduce 与内置 Map/Reduce

MongoDB Compass 中 JSON 输入意外结束