文档可以说是集合中的最小单元了。
附上官方文档地址,我也是学习的官方的。
https://www.mongodb.com/docs/manual/reference/insert-methods/
插入文档
单条文档
db.集合名称.insert({
"name":"xiang","age":18,"address":"湖北武汉"})
多条文档
db.集合名称.insertMany(
[<document1>,<document2>,...],
writeConcern : 1, //写入策略,默认为1,即要求确认写操作,0是不要求。
ordered : true //指定是否按顺序写入,默认true,按顺序写入。
)
db.集合名称.insert([
{
"name":"xiang","age":"18","address":"湖北武汉"},
{
"name":"zhang","age":"16","address":"湖北武汉"}
])
脚本方式
for(let i=1;i<20;i++){
db.user.insert({_id:i,name:'xiang'+i,age:i+10});
}
注意:
在mongodb中每个文档都会有一个_id作为唯一标识,_id默认会自动生成如果手动指定将使用手动指定将使用手动指定的值作为_id 的值。
查询
查询全部
db.集合名称.find();
删除文档
db.集合名称.remove(
<query>,
{
justOne:<boolean>,
writeConcern:<document>
}
)
参数说明:
query:可选 删除的文档的条件。
justOne:可选 如果设置为true或者1,则只删除一条文档,如果不设置改参数,或使用默认值false,则删除所有匹配条件的文档。
writeConcern:可选 抛出异常的级别.
这样写是删除全部?no
只要要穿一个空参数,这里我就不执行了。
更新文档
db.集合名称.update(
<query>,
<update>,
{
upsert: <boolean>,multi : <boolean>,
writeConcern: <document>
}
);
参数说明:
query : update的查询条件,类似sql update查询内where后面的。
update : update的对象和一些更新的操作符(如 , , ,inc…)等,也可以理解为sqlupdate查询内set后面的
upsert: 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi: 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
writeConcern: 可选,抛出异常的级别。
重要
db.集合名称.update( {
"name" : "zhangsan" }) , iname : "11",bir:new date()})
- `这个更新是将符合条件的全部更新成后面的文档,相当于先删除在更新
db.集合名称.update( { "name" : "xiaohei" } ,{$set: {name : " mingming" )})
`保留原来数据更新,但是只更新符合条件的第一条数据`
db.集合名称.update({name :'小黑'},{$set : {name: "小明"}},{multi:true})
`保留原来数据更新,更新符合条件的所有数据`
db.集合名称.update( {name :'小黑'},{$set : {name :'小明'}},{multi:true, upsert:true})
`保留原来数据更新,更新符合条件的所有数据没有条件符合时插入数据