zoukankan      html  css  js  c++  java
  • Mongodb

    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正好相反) 记住哦

      $字符

      db.user_info.updateOne({hobby:6},{$set:{'hobby.$':'六'}})  # 将hobby为6的改成‘六’,"hobby.$"加引号就会看作一个整体,.$是是用来找到那个6数据的索引。

      object字典操作

      db.user_info.updateOne({name:"200wansui"},{$inc:{"info.tizhong":-5}})
      db.user_info.updateOne({name:"200wansui"},{$set:{"info.long":12.5}})

    8、limit skip  sort  

      limit

        db.user_info.find({}).limit(5)

        从当前位置选择5个数据

      skip 跳过

        db.user_info.find({}).skip(2)

        从0开始跳过2条数据到当前位置

      sort 排序

        db.user_info.find({}).sort({'id':-1}) 

        根据id进行排序,-1为正序    1为倒叙

      limit + skip + sort

        db.user_info.find({}).limit(5).skip(10)
        db.user_info.find({}).limit(c).skip((p-1)*c)

        db.user_info.find({}).limit(5).skip(5).sort({ id:-1 })

        优先级最高的是 sort
        其次优先为 skip
        最低优先级 limit

  • 相关阅读:
    项目后台的最新认识和对MVC封装性、可维护性的更深刻认识!
    java综述
    android模拟器里输出程序:HelloWorld
    JAVA程序员必去的网站
    1.MVC框架复习 2.Ajax加强 3.搜索建议 4,三级联动 5、刷新分页 6、Ajax局部动态更新数据
    jQuery的几个例子流程讲解
    1.jQuery基础语法 2.jQuery选择器、操作页面文档元素 3.jqueryDOM操作 4.jqueryCSS操作 5.Jquery事件 6.Jquery动画
    成功站长应具备的良好心态
    java的学习步骤方法书籍大总结
    Java常用类
  • 原文地址:https://www.cnblogs.com/wf123/p/10175536.html
Copyright © 2011-2022 走看看