前端知识学习

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()//删除多条数据