update参数
db.site.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:可选,抛出异常的级别。
Mongodb操作指令
主要是增删改查
1、use 数据库名称
如果数据库存在,就是使用该数据库
如果不存在,接着在后面插入一条数据,就是创建数据库
示例:
use mydb//创建数据库,没有数据则不会创建成功,必须放入一条数据
db.stu.insert({name:'www', age:20})//插入一条数据,数据格式为json对象
2、删除数据库
db.dropDatabase()
3、创建集合
db.createCollection(集合名)
4、删除集合
db.集合名.drop()
5、插入数据
db.集合名.insert({name:'aaa', age:30})//如果集合不存在就创建这个集合,如果存在就往这个集合中插入一条数据
db.集合名.insertOne({})//插入一条数据,数据为对象
db.集合名.insertMany([{},{}])//插入多条数据,数据为对象数组
6、查找数据
db.stu.find()//查找表中的所有记录,自动生成id
db.stu.find({name:'www'})//按条件查询
db.stu.findOne({name:'www'})//按条件查询,把满足条件的第一个数据返回,得到的是一个对象
db.stu.find({name:'www',age:100})//按多个条件查询,同时满足
db.stu.find({$or:[{name:'www'},{age:20}]})//按多个条件查询,满足一个即可,或者的关系
db.stu.find({age:{$gte:50,$lte:100}})//按范围查找
$lt 小于
$lte 小于等于
$gt 大于
$gte 大于等于
db.stu.find({name:{$in:['www','ee']}})//一个条件,满足其中的一个
db.stu.find({name:{$in:['www','ee']}}).count()//一个条件,满足其中的一个,满足条件的有多少个,统计数量
db.stu.find({name:/www/})//按正则查找
db.stu.find({name:/^w/})//以w开头
7、更新数据
db.stu.update({name:'www'},{$set:{age:999}})//更改数据,只更新满足条件的一条数据
db.stu.update({name:'www'},{$set:{age:88}},false,true)//更改数据,所有满足条件的都更改,只需要把第四个参数设置为true即可
db.stu.update({name:'Tom'},{$set:{age:88}},false,true)//更改数据,第三个参数为假时,不存在不做任何操作;为真时,不存在就创建,存在就更新
db.stu.updateOne()//更改数据,只更新满足条件的一条数据
db.stu.updateMany()//更改多条数据
注意:还可以设置
{multi: true, upsert: true} --> 不设置此属性,只会更改第一条满足条件的数据
multi: true --> 更改所有满足条件的数据
upsert: true --> 存在满足条件的数据就更改,不存在就创建
8、删除数据
db.stu.remove({name:'www'})//按条件删除
db.stu.remove({})//删除表中的所有数据,传入一个空对象,id值不会删除,如果再插入数据,id值会在原有的基础上增加
db.stu.deleteOne()//删除一条数据
db.stu.deleteMany()//删除多条数据