mongodb的基本操作

mongodb的基本操作

  在cmd中输入mongo进入数据库。输入show databases 可以查询已有的数据库,admin 和 local 都是自带的数据库,不

要去操作这两个数据库。下面介绍MongoDB的基本操作:增删查改!

  在对数据处理之前,我们先要建库建集合:

  建库:使用命令:use + 库名  如:use dan  ;如果库名存在则进入该库,不存在就创建!如果没有添加数据,会发生回滚

现象,使用show dbs 查看数据库,会显示没有这个库!

  查询集合:

  show collections 可以查询当前库的所有集合使用 show tables 可以查看当前库的所有集合。

  增加数据db.test.insert({'name':'nike','sex':'man'}) 默认添加 id 。注意到这里的数据传入是以字典的格式!test为集

合名,使用show tables 可以查看当前库的所有集合。

    

       db.test.save({'name':'dc&cn','sex':'*'})  save方法同样可以插入数据,如果指定已有的id还可以修改数据。

    为了方便下面的阐述,我们多添加几条数据!

  查询数据db.test.find()  查询test集合中的数据,默认显示20条。

        db.test.find({'age':{$eq:'25'}})  查询test集合中age等于'25'的数据。如果插入数据的时候是数字是以字符

        串传入的,则这里必须使用引号,不然匹配不到!

    

  这里的最后一条数据,25是以数值直接插入,查询的时候就查不到,所以数据的格式一定要注意!

        db.test.find({'age':{$eq:'25'},'sex':'man'})  查询test集合中age等于'25' 和性别为男的数据。这里也展示了

        多条件过滤。

  删除数据:db.test.drop({'age':'25'})   

        db.test.remove({'age':'25'})  删除test集合中age字段值为 '25' 的

        db.test.remove({'name':'nike','age':'15'}) 多条件匹配删除,注意remove匹配到几条数据就会删除几条。

           db.test.remove({}) 删除当前文档,但是集合还在,是一个空集合

        db.test.drop()  删除集合

  更新数据db.test.update({'name':'dc&cn'},{$set:{'age':23}}) 

  此处找到name为dc&cn的数据将age改为23,没有该字段就是添加。每次都是修改匹配到的第一个。multi参数设置为True,会

  更新所有的数据。如:db.test.update({'name':'lining'},{$set:{'age':2000}},{'multi':3}) 这里的3默认为true,

  符合要求的数据将全部更新。

 

MongoDB的操作符

  比较操作符

  $ eq   等于     $ gt   大于     $ gte  不小于     $ lt   小于

  $ lte  不大于     $ ne   不等于      $ in  接一个数组,表示在数组元素中匹配

  逻辑操作符

  or  and  not  nor

  db.test.find({$or:[{'age':25},{'sex':'man'}]}) 匹配age为25或者sex为man的数据。$or后边也是接一个数组。

  db.test.find({$and:[{'age':25},{'sex':'man'}]})  匹配两个条件同时满足的数据,等价于:

                        db.test.find({'age':'25','sex':'man'})

  db.test.find({'age':{$not:{$eq:'25'}}})   匹配age不等于25的。$not操作符只会影响其他操作符不能独立检查字段

  和文档。里使用not看似和比较操作符没有什么区别,但是将$eq换成$gt时就有明显的区别了。如下图所示:

  

  db.test.find({$nor:[{'age':'25'}]})  如果数组里面的元素使用比较操作符,会匹配失败

  更新操作符

     $inc  加减

  $mul   乘法

  $rename  重命名

  $set  更新某一个字段,其他保留

 

posted @ 2018-03-04 16:47  巴蜀秀才  阅读(237)  评论(0编辑  收藏  举报