当先锋百科网

首页 1 2 3 4 5 6 7

向集合插入一个新文档db.collection.insertOne()

db.collection.insertOne(
// collection为集合的名字,如果集合不存在则会自动创建一个集合
   <document>, // 具体插入的数据
   {
      writeConcern: <document> // 可选参数,可以不写
   }
)

在这里插入图片描述

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

db.collection.insertMany(
   [ <document 1> , <document 2>, ... ], // 具体插入的数据
   {
      writeConcern: <document>,
      ordered: <boolean>
   }
)
//document:要写入的文档。
//writeConcern:写入策略,默认为 1,即要求确认写操作,0 是不要求。
//ordered:指定是否按顺序写入,默认 true,按顺序写入。

在这里插入图片描述

语法db.collection.find(query, projection)
query :可选,使用查询操作符指定查询条件
projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。

1、查询全部

db.users.find()或者db.users.find().pretty()
二者的区别在于pretty() 方法以格式化的方式来显示所有文档

2、按条件查询

等于 , 大于 , 小于等于 , 大于等于 ,等于, 不等于

等于:{<key>:<value>} 
	例子:db.users.find({age:20}).pretty()
大于:{<key>:{$gt:<value>}}
	例子:db.users.find({age:{$gt:21}}).pretty()
小于:{<key>:{$lt:<value>}}
	例子:db.users.find({age:{$lt:22}}).pretty()
小于等于:{<key>:{$lte:<value>}}
	例子:db.users.find({age:{$lte:22}}).pretty()
大于等于:{<key>:{$gte:<value>}}
	例子:db.users.find({age:{$gte:21}}).pretty()
不等于:{<key>:{$ne:<value>}}
	例子:db.users.find({age:{$ne:22}}).pretty()

AND 条件

db.collection.find({key1:value1, key2:value2}).pretty()

OR 条件

db.collection.find(
   {
      $or: [
         {key1: value1}, {key2:value2}
      ]
   }
).pretty()
例子:
db.users.find(
	{
		$or:[
		{age:20},
		{sex:'女'}
		]
	}
)

AND 和 OR 联合使用

db.users.find({
	age:{$lt:23},
	$or:[
		{name:'张三'},
		{sex:'女'}
	]
})

update() 方法

update() 方法用于更新已存在的文档

db.collection.update(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)
//query : update的查询条件,类似sql update查询内where后面的。
//update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
//upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
//multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
//writeConcern :可选,抛出异常的级别。
例子:
db.users.update({name:'张三'},{$set:{age:25}})

save()方法

save() 方法通过传入的文档来替换已有文档,_id 主键存在就更新,不存在就插入

db.collection.save(
   <document>,
   {
     writeConcern: <document>
   }
)
例子:
db.users.save({
    "_id" : ObjectId("5f43873e333b0000f400710a"),
    age:24,
	name:'李四',
	sex:'女'
})
// 用save的时候所有的数据都要填写,不然没有填写的字段会为null

db.collection.remove(
   <query>,
   <justOne>
)
//query :(可选)删除的文档的条件。
//justOne : (可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则删除所有匹配条件的文档。
//writeConcern :(可选)抛出异常的级别。
例子:
db.users.remove({name:'张三'}) // 删除指定数据
db.col.remove({}) // 删除所有数据