1, 创建数据库

use  数据库    创建数据库并使用该数据库 (******用到了不存在的对象,等于在创建这个对象******)

db  显示当前使用的数据库

创建并使用一张表

现在已经创建好了一个数据库和一张表,下面看一下对表中数据的操作

 

1 , insert : 插入一条或多条数据,目前官方已经不推荐使用

我们看到已经在表中插入了一条数据

当然,官方已经不推荐使用这条命令的话,还会其他推荐使用的命令的

(1), insertOne : 插入一条数据   db.user.insertOne({"name":"ding","age":19})

(2), insertMany : 插入多条数据 db.user.insertMany([{"name":"ding","age":19},{"name":"sun","age":20}])

 

2 , find() 无条件查找,查询该表中的所有数据

db.user.find({name:"liang"})   查找name=liang的数据

findOne()  没有参数默认查询表的第一条数据

findOne({age:19})  查找age=19的数据,如果有多条,则会返回更靠前的数据

并列条件 :  db.user.find({"name":liang,"age":18})   查找name=量并且age=18的

,不同字段的  或条件:$or :    db.user.find({$or:[{"name":liang},{"age":18}]})  查找name=liang或者age=18的

同一个字段的 或条件  $in : db.user.find({age:{$in:[18,19,20]}}) 查找age为18或者19或者20的

子集检索   db.user.find({what:{$in:[2,1]}})

$all : 满足所有条件    db.user.find({what:{$all:[2,1,3]}})

 

3 , update({"name":"liang"},{$set:{"age":30}})  把name=liang的数据中的age改为30,目前官方已经不推荐这个写法

下面为官方推荐的写法

(1) , updateOne({"name":"liang"},{$set:{"age":30}})  修改name=liang的age为30,如果有多条数据,则只修改最靠前的数据,只修改第一条

(2) , updateMany({"name":"liang"},{$set:{"age":30}})  把所有name=liang的age改为30,如果有多条,则全部修改

如果表中没有name属性的话,会自动创建一个name属性,并赋值为liang(******用到了不存在的对象,等于在创建这个对象******)

 

4 , remove({})  无条件删除所有数据,相当于清空了表,官方不推荐

  remove({"name":"liang"})  删除name=liang的所有数据

  官方推荐写法:

    db.user.deleteOne({"name":"liang"})  删除一条
    db.user.deleteMany({"name":"liang"})  删除多条