一、插入文档
文档的数据结构和 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