1、基础知识

      1.1  show dbs  //查看所有数据库

      1.2  use XXX  //进入某个数据库,如果没有这个数据库的话,进入之后进行了插入操作,那么就会自动产生该数据库,也就是说在进行插入之前可以不用进行数据库的创建过程

      1.3  use XXX

             db.dropDatabase()    //删除该XXX数据库

      

mongodb 删除表字段 mongodb删除表数据操作_数据

           db.XXX(表名).drop()          //删除该XXX数据库中的一张表

      

mongodb 删除表字段 mongodb删除表数据操作_mongodb 删除表字段_02

      1.4  use XXX

             show tables  //查询某个数据库XXX中所有的表

           在mongodb中是show collections(集合),现在看起来二者是相同的用法(如果后面的学习发现有不同再回来补充,可以看看https://www.2cto.com/database/201201/116110.html

 

2、数据写入

      2.1  use test

             db.test_first.insert({x:1})    //insert需要一个参数,这个参数就是要写入的文档,采用josn结构,使用可嵌套的键值对存储数据。

              show collections   //查询数据库中的集合

              

mongodb 删除表字段 mongodb删除表数据操作_数据_03

      2.2  可以运用JS语法进行写入 :

              

mongodb 删除表字段 mongodb删除表数据操作_mongodb_04

      2.3  同时插入多条数据

             insert 默认插入一条数据,和insertOne()作用差不多,同时插入多条数据用insertMany()   (3.2版本以上)

db.XXX.insertMany([{},{},{}......])   //记住有个[ ],插入数组,插入后会自动出现acknowledged 及自动分配的高ID

             

mongodb 删除表字段 mongodb删除表数据操作_mongodb_05

 

3、数据查询

      use XXX

      db.XXX.find();     //返回集合里面所有数据

      db.XXX.find({x:5})   //返回集合里面x=5的数据,其他数据被过滤

      db.XXX.find().count()      //对集合里面所有数据计数

      db.XXX.find().skip(3).limit(5).sort({x:1})     //对集合里面数据进行跳过前3条,限制输出5条,并按照x进行升序排序(1是升序,-1是降序)

      

mongodb 删除表字段 mongodb删除表数据操作_数据_06

      

mongodb 删除表字段 mongodb删除表数据操作_mongodb 删除表字段_07

注:skip()、limit()、sort()三者先执行sort,然后skip,最后limit

      

mongodb 删除表字段 mongodb删除表数据操作_mongodb 删除表字段_08

 

4、数据更新

      4.1  db.XXX.update({x:10},{y:999})     //将x=10的数据更新为y=999   (mongodb的文档内容不像关系型数据库那样规定好,所以可以很方便的进行各种更新)

      

mongodb 删除表字段 mongodb删除表数据操作_mongodb 删除表字段_09

,{$set:{y=99}})   //进行部分更新,查询z=100的数据,将其中的y的值改成99,其余部分不变,$set表示部分更改

                    如果写成 db.XXX.update({z=100},{y=99}),就会将原来的x=100,y=100,z=100,改变成y=99,x,z的值都会被覆盖掉

     

mongodb 删除表字段 mongodb删除表数据操作_数据_10

     

mongodb 删除表字段 mongodb删除表数据操作_mongodb_11

      4.3  更新一条不存在的数据

              db.XXX.update({y:100},{y:999},true)    //后面加true(upsert参数)表示查找y=100的数据,如果找到就更新为y=999,如果找不到就自动插入y=999这条数据

      

mongodb 删除表字段 mongodb删除表数据操作_mongodb 删除表字段_12

      扩展:通过上面这个例子可以看到,如果不存在这条数据的话用$set是没用的,还是只插入y=999,不会将x=100,z=100也插入进来。

      4.4  更新多条数据

             和insert一样每次只会更新一条数据,insert插入多条数据是将upsert参数改为true,update更新多条数据是将multi参数改为true

       

mongodb 删除表字段 mongodb删除表数据操作_数据_13

       4.5  补充

       

mongodb 删除表字段 mongodb删除表数据操作_mongodb 删除表字段_14

           参看网站:http://www.runoob.com/mongodb/mongodb-update.html

 

5、数据删除

      5.1  为了防止误操作,remove不允许参数为空

       

mongodb 删除表字段 mongodb删除表数据操作_mongodb 删除表字段_15

      5.2  db.XXX,remove({x:100})   //remove只有一个参数

       

mongodb 删除表字段 mongodb删除表数据操作_mongodb 删除表字段_16