MongoDB插入数据的3种方法

 

insert()方法:

下面是在inventory集合中插入一个三个字段的文档:

db.inventory.insert( { _id: 10, type: "misc", item: "card", qty: 15 } )

在示例中,文档有一个用户指定的值为10的_id字段,这个值必须在inventory集合中唯一。

update()方法:

调用update()方法使用upsert标志创建一个新文档当没有匹配查询条件的文档时。下面的例子当inventory集合中没有包含{type:"books",item:"journal"}的文档时创建一个新文档:

db.inventory.update(
                         { type: "book", item : "journal" },
                         { $set :     { qty: 10 } },
                         { upsert :true     }
                )

MongoDB添加_id字段和分配一个唯一的ObjectId作为它的值。新文档包含来自查询条件的item和type字段,和来自更新参数的qty字段:

{ "_id" : ObjectId("51e8636953dbe31d5f34a38a"), "item" : "journal", "qty" : 10, "type" : "book" }

save()方法:

使用save()方法插入一个文档,通过该方法保存一个不包含_id字段的文档或者包含_id字段但该字段值不存在集合中的文档。下面的示例创建一个新的文档在inventory集合:

db.inventory.save( { type: "book", item: "notebook", qty: 40 } )

MongoDB添加_id字段和分配一个唯一的ObjectId作为它的值。

{ "_id" : ObjectId("51e866e48737f72b32ae4fbc"), "type" : "book", "item" : "notebook", "qty" : 40 }

当在使用save方法时,插入不指定_id时,会自动生成一个。
Insert和Save的区别是:如果插入的集合的“_id”值,在集合中已经存在,用Insert执行插入操作会报异常,已经存在"_id"的键。用Save如果系统中没有相同的"_id"就执行插入操作,有的话就执行覆盖掉原来的值。相当于修改操作。

 

posted @   小雨淅淅o0  阅读(5284)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示