码迷,mamicode.com
首页 > 数据库 > 详细

Mongodb

时间:2018-12-25 19:56:31      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:upd   data   use   tab   删掉   指定   lte   document   oracel   

1、数据库的类型

  关系型数据库(SQL):MySQL  Oracel  DB2  sybase  msSQL(微软旗下的SQL Server)

  非关系型数据库(NoSQL):MongoDB

2、MongoDB存的是json格式的数据

info = [
        {id:1,
        name:aa
       },
        {id:2,
        name:bb
        },
     ]    

3、MySQL 和 MongoDB 中的不同

数据库类型          MySQL                MongoDB

数据库              database                 db

数据表            table                 collections

数据行            row                   documents

字段             column                     filed

4、MongoDB 小操作

  show dbs  查看所有已经写入磁盘的数据库

  use + 数据库名  切换到当前数据库

  show tables  查看当前数据库中所有的表

  db  查看当前所使用的数据库

  MongoDB中如果没有数据,如果直接使用 use + 随便输入  都会提示已经切换到这个数据库,但是show dbs 的时候是没有的,因为这个只是单纯的在内存中创建的,而没有写入磁盘。

  技术分享图片

  ***使用不存在的对象即创建该对象

  技术分享图片

5、MongoDB 的增、删、改、查

  增:

    db.表名.insert({})

    官方推荐:

      db.表名.insertOne({})

      db.表名.insertMany([{},{},{}])

  查:

    db.表名.find()  查询所有的

    db.表名.findOne()  查询单条数据

  改:

    db.表名.update({条件},{$set:{数据}})

    官方推荐:

      db.表名.updateOne({条件},{$set:{数据}})  更新一条数据

      db.表名.updateMany({条件},{$set:{数据}})  更新所有数据

  删:

    db.表名.remove({条件})

    官方推荐:

      db.表名.deleteOne({条件})  删除一条数据

      db.表名.deleteMany({条件})  删除符合条件的所有数据

  清楚collections:

      db.表名.drop()

6、$关键字

  数学比符

    $gt  >

    $gte  >=

    $lt  <

    $lte  =<

    $eq  =

    :    =

7、修改器

  {$set:{name:1}}  简单粗暴的修改,将所有的name修改成1

  {$unset{name:1}}  简单粗暴的删除字段

  db.user_info.updateOne({age:200},{$unset:{age:1}})

  $inc  引用增加

  $push : 它是用来对Array (list)数据类型进行 增加 新元素的,相当于我们大Python中 list.append() 方法

  做一个小例子 :首先我们要先对原有数据增加一个Array类型的field:

技术分享图片

  使用update $set 的方法只能为Document中的第一条添加

技术分享图片

  使用updateMany $set 的方法 可以为所有满足条件的 Document 添加 "test_list" , 注意我这里的条件为空 " {} " 就算是为空,也要写上"{}" 记住记住记住

  接下来我们就要队列表进行添加了: 将 "score" 为 100 的Document 中"test_list" 添加一个 6

技术分享图片

  $push 是在 Array(list) 的尾端加入一个新的元素  {$push : {"test_list" : 6}}

 

  $pull : 有了$push 对Array类型进行增加,就一定有办法对其内部进行删减,$pull 就是指定删除Array中的某一个元素

做一个例子: 把我们刚才$push进去的 6 删除掉

技术分享图片

  问题来了,如果 Array 数据类型中 如果有 多个 6 怎么办呢?

技术分享图片

  全部删掉了.....

  得出了一个结论,只要满足条件,就会将Array中所有满足条件的数据全部清除掉

 

  $pop : 指定删除Array中的第一个 或 最后一个 元素

  做个小例子: 删除"score" 等于 100 分  test_list 的最后一个元素

技术分享图片

  怎么删除第一个呢?

技术分享图片

  {$pop:{"test_list" : -1}}  -1 代表最前面, 1 代表最后边 (这和我们大Python正好相反) 记住哦

  

   

Mongodb

标签:upd   data   use   tab   删掉   指定   lte   document   oracel   

原文地址:https://www.cnblogs.com/wf123/p/10175536.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!