加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 服务器 > 系统 > 正文

MongoDB插入文档的方法怎样做,有哪些要注意

发布时间:2023-09-12 14:35:11 所属栏目:系统 来源:
导读:这篇文章主要介绍“MongoDB插入文档的方法怎样做,有什么要注意”的相关知识,下面会通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“MongoDB插入文档的方法怎样做,有什么要
这篇文章主要介绍“MongoDB插入文档的方法怎样做,有什么要注意”的相关知识,下面会通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“MongoDB插入文档的方法怎样做,有什么要注意”文章能帮助大家解决问题。
 
MongoDB 插入文档
 
本章节中我们将向大家介绍如何将数据插入到 MongoDB 的集合中。
 
文档的数据结构和 JSON 基本一样。
 
所有存储在集合中的数据都是 BSON 格式。
 
BSON 是一种类似 JSON 的二进制形式的存储格式,是 Binary JSON 的简称。
 
插入文档
 
MongoDB 使用 insert() 或 save() 方法向集合中插入文档,语法如下:
 
db.COLLECTION_NAME.insert(document)
 

 
db.COLLECTION_NAME.save(document)
 
save():如果 _id 主键存在则更新数据,如果不存在就插入数据。该方法新版本中已废弃,可以使用 db.collection.insertOne() 或 db.collection.replaceOne() 来代替。
 
insert(): 若插入的数据主键已经存在,则会抛 org.springframework.dao.DuplicateKeyException 异常,提示主键重复,不保存当前数据。
 
3.2 版本之后新增了 db.collection.insertOne() 和 db.collection.insertMany()。
 
db.collection.insertOne() 用于向集合插入一个新文档,语法格式如下:
 
db.collection.insertOne(
 
   <document>,
 
   {
 
      writeConcern: <document>
 
   }
 
)
 
db.collection.insertMany() 用于向集合插入一个多个文档,语法格式如下:
 
db.collection.insertMany(
 
   [ <document 1> , <document 2>, ... ],
 
   {
 
      writeConcern: <document>,
 
      ordered: <boolean>
 
   }
 
)
 
参数说明:
 
document:要写入的文档。
 
writeConcern:写入策略,默认为 1,即要求确认写操作,0 是不要求。
 
ordered:指定是否按顺序写入,默认 true,按顺序写入。
 
实例
 
以下文档可以存储在 MongoDB 的 runoob 数据库 的 col 集合中:
 
>db.col.insert({title: 'MongoDB 教程',
 
    description: 'MongoDB 是一个 Nosql 数据库',
 
    by: '菜鸟教程',
 
    url: 'http://www.runoob.com',
 
    tags: ['mongodb', 'database', 'NoSQL'],
 
    likes: 100
 
})
 
以上实例中 col 是我们的集合名,如果该集合不在该数据库中, MongoDB 会自动创建该集合并插入文档。
 
查看已插入文档:
 
> db.col.find()
 
{ "_id" : ObjectId("56064886ade2f21f36b03134"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
 
>
 
我们也可以将数据定义为一个变量,如下所示:
 
> document=({title: 'MongoDB 教程',
 
    description: 'MongoDB 是一个 Nosql 数据库',
 
    by: '菜鸟教程',
 
    url: 'http://www.runoob.com',
 
    tags: ['mongodb', 'database', 'NoSQL'],
 
    likes: 100
 
});
 
执行后显示结果如下:
 
{
 
        "title" : "MongoDB 教程",
 
        "description" : "MongoDB 是一个 Nosql 数据库",
 
        "by" : "菜鸟教程",
 
        "url" : "http://www.runoob.com",
 
        "tags" : [
 
                "mongodb",
 
                "database",
 
                "NoSQL"
 
        ],
 
        "likes" : 100
 
}
 
执行插入操作:
 
> db.col.insert(document)
 
WriteResult({ "nInserted" : 1 })
 
>
 
插入文档你也可以使用 db.col.save(document) 命令。如果不指定 _id 字段 save() 方法类似于 insert() 方法。如果指定 _id 字段,则会更新该 _id 的数据。
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章