MongoDB插入文档(3中方法)

前面我们已经介绍了如何在 MongoDB 中创建数据库和创建集合,接下来我们再来介绍一下如何在集合中插入文档。文档是 MongoDB 中数据的基本单位,由 BSON 格式(一种计算机数据交换格式,类似于 JSON)的键/值对组成。

创新互联公司主营潞州网站建设的网络公司,主营网站建设方案,成都App定制开发,潞州h5微信小程序定制开发搭建,潞州网站营销推广欢迎潞州等地区企业咨询

insert() 与 save() 方法

您可以使用 MongoDB 中的 insert() 或 save() 方法向集合中插入文档,语法如下:

db.collection_name.insert(document)
db.collection_name.save(document)

语法说明如下:

  • save():如果 _id 主键存在则更新数据,如果不存在就插入数据。不过该方法在新版本的 MongoDB 中已废弃,您可以使用 insertOne() 或 replaceOne() 方法来代替;
  • insert(): 若插入的数据主键已经存在,则会抛 org.springframework.dao.DuplicateKeyException 异常,并提示主键重复,不保存当前数据。

【示例】使用 insert() 方法向集合中插入文档:

> db.user.insert([
... {
... name:"张三",
... phone:"15012345678"
... },{
... name:"李四",
... phone:"18687654321"
... },{
... name:"王五",
... phone:"13100001111"
... }
... ])
BulkWriteResult({
        "writeErrors" : [ ],
        "writeConcernErrors" : [ ],
        "nInserted" : 3,
        "nUpserted" : 0,
        "nMatched" : 0,
        "nModified" : 0,
        "nRemoved" : 0,
        "upserted" : [ ]
})

文档插入成功后您可以使用 find() 方法来查看集合中文档的内容,如下所示:

> db.user.find()
{ "_id" : ObjectId("6030d907d029695c0c340c43"), "name" : "张三", "phone" : "15012345678" }
{ "_id" : ObjectId("6030d907d029695c0c340c44"), "name" : "李四", "phone" : "18687654321" }
{ "_id" : ObjectId("6030d907d029695c0c340c45"), "name" : "王五", "phone" : "13100001111" }

文档中 _id 为主键 ID,它在每个文档中都是唯一的,在插入文档时,如果不指定 _id,MongoDB 则会为此文档自动分配一个唯一的 _id,当然您也可以手动定义 _id 的值。

insertOne() 方法

insert() 方法可以同时插入多个文档,但如果您只需要将一个文档插入到集合中的话,可以使用 insertOne() 方法,该方法的语法格式如下:

db.collection_name.insertOne(document)

【示例】使用 insertOne() 方法向集合中插入一个文档:

> db.user.insertOne({
... title:"编程帮",
... url:"www.biancheng.net",
... course:"MongoDB教程"
... })
{
        "acknowledged" : true,
        "insertedId" : ObjectId("6030d6c4d029695c0c340c42")
}
> db.user.find()
{ "_id" : ObjectId("6030d6c4d029695c0c340c42"), "title" : "编程帮", "url" : "www.biancheng.net", "course" : "MongoDB教程" }

insertMany() 方法

与 insert() 方法相同,您可以使用 insertMany() 方法向集合中插入多个文档,但在使用 insertMany() 方法时您需要向方法中传递一个文档数组,如下例所示:

> db.user.insertMany([
... {
... name:"张三",
... phone:"15012345678"
... },{
... name:"李四",
... phone:"18611112222"
... },{
... name:"王五",
... phone:"13166668888"
... }
... ])
{
        "acknowledged" : true,
        "insertedIds" : [
                ObjectId("6030dbf2d029695c0c340c46"),
                ObjectId("6030dbf2d029695c0c340c47"),
                ObjectId("6030dbf2d029695c0c340c48")
        ]
}
> db.user.find()
{ "_id" : ObjectId("6030dbf2d029695c0c340c46"), "name" : "张三", "phone" : "15012345678" }
{ "_id" : ObjectId("6030dbf2d029695c0c340c47"), "name" : "李四", "phone" : "18611112222" }
{ "_id" : ObjectId("6030dbf2d029695c0c340c48"), "name" : "王五", "phone" : "13166668888" }

文章标题:MongoDB插入文档(3中方法)
网页URL:http://www.shufengxianlan.com/qtweb/news47/278197.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联