zoukankan      html  css  js  c++  java
  • MongoDB简单CRUD场景

       MongoDB简单CRUD命令操作

      (1)新建数据库:use 数据库名

      (2)显示所有数据库:show dbs;

      (3)新建集合(两种方式)

       隐式创建:在创建集合的同时往集合里面添加数据---db.c1.insert({name:"fuck",age:29});
       显式创建:db.createCollection()---db.createCollection("c2")

      (4)显示所有集合:show collections;

      (5)db命令:db命令表示当前操作的数据库

      (6)插入一对key-value:db.c1.insert({name:"fuck",age:22});当数据库没有集合c1时,mongodb会自动创建集合c1

      (7)查找某个集合中的所有数据:db.c1.find();

      (8)查找某个集合中的特定条件的数据:   

       单条件查询:db.c1.find({name:"fuck"})
       多条件查询:db.c1.find(name:"fuck",age:22)
       只关心个别元素的查询db.c1.find({},{"name":1,"_id":0})(即查出来只显示name这个字段)
       这里的1表示显示,0表示不显示

       (9)for循环插入数据:   

        for(var i=0;i<10000;i++)
       {
        db.c1.insert({name:"caonima",age:i})
       }

      (10)mongodb支持分页:db.c1.find()只会显示前20条数据

      (11)查询集合条数:db.c1.find().count()

      (12)查询符合条件的第一条文档:db.c1.findOne({name:"fuck"})

      (13)查询一个集合中age大于5的所有文档:

          db.c1.find({age:{$gt:5}})

          大于等于5

          db.c1.find({age:{$gte:5}})

            小于5

          db.c1.find({age:{$lt:5}})      

          小于等于5
          db.c1.find({age:{$lte:5}})      

          不等于5
            db.c1.find({age:{$ne:5}})

      (14)分页查询,查询众多结果中的第5到10条     

           db.c1.find().skip(5).limit(5);

         备注:第一个5为开始的序号,后面的5为开始序号后的条数

      (15)查询集合中的文档,$all主要用来查询数组中包含关系,查询条件中只要有一个不包含就不返回     

         db.c1.find({"b": { "$all" : [3,5]}});
           { "_id" : 11, "a" : "5", "b" : [ 5, 3, 7 ] }
         { "_id" : 111, "a" : 1, "b" : [ 3, 5 ] }

      (16)查询集合中的文档,$in,类似于关系型数据库中的IN

          db.c1.find({age:{$in:[12,45]}})

      (17)查询集合中不包含的文档,$nin,与$in相反

           db.c1.find({age:{$nin:[12,45]}})

      (18)查询集合中或条件的文档,$or,根据条件过滤掉某些数据

           db.c1.find({$or:[{name:"fuckyou"},{age:11}]})

      (19)查询集合中或条件相反的文档,$nor,根据条件过滤掉某些数据

         db.c1.find({$nor:[{name:"fuckyou"},{age:11}]})

      (20)查询集合中的文档,$exists,用于查询集合中存在某个键的文档或不存在某个键的文档,例如查询某集合中存在name键的所有文档,可以使用db.集合.find({name:{$exists:1}}),指存在键名为name的文档,exists:1表示真,指存在,exists:0表示假,指不存在。

      (21)mongodb中的游标:

          var x = db.c1.find()
          x.hasNext()
          x.next()

      (22)更新集合中的文档

           db.c1.update({age:33},{$set:{name:"caonima"}})
         将age为33的name改为caonima

      (23)更新集合语法

          db.collectionName.update(param1,param2,param3,param4)
          1、需要更新的条件
          2、更新的内容的对象
          3、如果没有符合条件的记录,是否新增一条记录。1为新增,默认值为0
          4、如果有多个符合条件的记录,是否全部更新,(默认值为0),如果全部更新,取值为1

      (24)展示mongo语句的扫描条数和查询耗时可调用explain()函数

          db.c2.update({"name":"fuck"}).explain()

      (25)更新集合中的文档,使用 $inc 将集合中name为user1的age加1,其它键不变, $inc表示使某个键值加指定的数值

          db.c2.update({name:"caonima"},{$inc:{age:2}});

      (26)更新集合中的文档, $unset 用来删除某个键

          db.c2.update({name:"laji"},{$unset:{age:1}},1,0);

          1、需要更新的条件
          2、更新的内容的对象
          3、如果没有符合条件的记录,是否新增一条记录。1为新增,默认值为0
          4、如果有多个符合条件的记录,是否全部更新,(默认值为0),如果全部更新,取值为1

      (27)删除orders集合的所有数据,集合还存在,索引都还存在

          db.c2.remove({})

      (28)根据条件删除数据

          db.c2.remove({age: 55})

      (29)删除集合,集合、索引都不存在了

          db.collection.drop()

      (30)更多操作详见db.help()

  • 相关阅读:
    python的整除,除法和取模对比
    jq禁用双击事件
    jq判断滑动方向
    jq获取下拉框中的value值
    html字符串转换成纯文字
    内层div相对于外层div水平垂直居中以及外层div相对body水平垂直居中
    python获取用户输入
    js判断浏览器是否支持localStorage
    CLR的执行模型
    行人检测2(行人检测的发展历史)
  • 原文地址:https://www.cnblogs.com/jiyukai/p/6979607.html
Copyright © 2011-2022 走看看