首页 > 其他分享 >文档操作

文档操作

时间:2022-10-11 21:04:45浏览次数:50  
标签:name db collection writeConcern 插入 文档 操作 主键

一、插入文档

文档的数据结构和 JSON 基本一样。

所有存储在集合中的数据都是 BSON 格式。BSON 是一种类似 JSON 的二进制形式的存储格式,是 Binary JSON 的简称。

1、insert

db.collection.insert(): 向集合中插入文档,若插入的数据主键已经存在,则会抛 org.springframework.dao.DuplicateKeyException 异常,提示主键重复,不保存当前数据。

语法格式如下:

​db.collection.insert(​​​​<document>,​​​​{​​​​writeConcern: <document>​​​​}​​​​​)​



例子: 

db.c1.inser({name:"jqk"})

db.c1.inser({_id:ObjectId("5e81b3ac4d4d000026004f6a"),name:"jqk"})   指定主键

db.c1.inser([{name:"张三"},{name:"李四"}])  插入多条数据

db.test_c2.insert([{name:"张三"},{name:"李四"}],{writeConcern:"majority",ordered:true})  指定其他参数


2、save

db.collection.save(): 向集合中插入文档,若插入的数据主键已经存在,则更新。

语法格式如下:

​db.collection.save(​​​​<document>,​​​​{​​​​writeConcern: <document>​​​​}​​​​​)​


3、insertOne

db.collection.insertOne(): 向集合中插入文档,若插入的数据主键已经存在,则会抛 org.springframework.dao.DuplicateKeyException 异常,提示主键重复,不保存当前数据。

语法格式如下:

​db.collection.insertOne(​​​​<document>,​​​​{​​​​writeConcern: <document>​​​​}​​​​​)​​​


4、insertMany

db.collection.insertMany(): 用于向集合插入一个多个文档。

语法格式如下:

​db.collection.insertMany(​​​​[ <document 1> , <document 2>, ... ],​​​​{​​​​writeConcern: <document>,​​​​ordered: <boolean>​​​​}​​​​)​



参数说明:

writeConcern

writeConcern 决定一个写操作落到多少个节点上才算成功。writeConcern 的取值包括:

0:发起写操作,不关心是否成功;

1~集群最大数据节点数:写操作需要被复制到指定节点数才算成功;

majority:写操作需要被复制到大多数节点上才算成功。


insert: 若插入的数据主键已经存在,则会抛 DuplicateKeyException 异常,提示主键重复,不保存当前数据。


save: 如果 _id 主键存在则更新数据,如果不存在就插入数据。

ordered

指定是否按顺序写入,默认 true,按顺序写入。




"

标签:name,db,collection,writeConcern,插入,文档,操作,主键
From: https://blog.51cto.com/u_12948550/5747926

相关文章