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()

转载于:https://www.cnblogs.com/jiyukai/p/6979607.html

MongoDB简单CRUD场景相关推荐

  1. 使用Express和MongoDB构建CRUD应用程序-第2部分

    by Zell Liew 由Zell Liew 使用Express和MongoDB构建CRUD应用程序-第2部分 (Building a CRUD Application with Express a ...

  2. 使用Python,OpenCV实现简单的场景边界/拍摄转换检测器

    使用Python,OpenCV进行简单的场景边界/拍摄转换检测器 1. 效果图 2. 实现 2.1 步骤 2.2 什么是"场景边界"和"拍摄过渡"? 2.3 代 ...

  3. MongoDB简单操作

    MongoDB简单操作 Hadoop核心技术厂商Cloudera将在2014/06推出hadoop Ecosystem与MongoDB的整合产品,届时MongoDB与ipmala及hbase,hive ...

  4. 使用Servlet 3.0,Redis / Jedis和CDI的简单CRUD –第1部分

    在这篇文章中,我们将构建一个简单的用户界面. 数据将存储在Redis中. 为了与Redis交互,我们将使用Jedis库. CDI用于Depedency Injection,而Servlet 3.0用于 ...

  5. 使用Servlet 3.0,Redis / Jedis和CDI的简单CRUD –第2部分

    在本文中,我们将重点介绍CDI和Servlet 3.0. 您可以在此处看到第1部分. 让我们从CDI开始. 当我开始撰写源自该系列的文章时,我并没有考虑撰写CDI. 真诚地说,我以前从未使用过. 这篇 ...

  6. Php7 mongodb explain,【代码片-1】 php7 mongoDB 简单封装

    /** * mongoDB 简单 封装 * 注意:支持 mongoDB 3.2+ * * @author color_wind */ finalclassm_mgdb { privatestatic$ ...

  7. Helm模板常用语法介绍与简单应用场景

    Helm模板常用语法介绍与简单应用场景 文章目录 Helm模板常用语法介绍与简单应用场景 什么是Helm _help.tpl子模版 应用场景 预定义对象 关于变量 关键字及应用 函数 流程与控制 什么 ...

  8. Java操作MongoDB数据库CRUD(增删查改)

    Java操作MongoDB数据库CRUD(增删查改) 借助mongo-java-driver包,对MongoDB数据库的集合(DataTable)及文档(BSON对象数据)进行增删查改操作.本文的核心 ...

  9. 初探CardBoard:(1)在Unity中实现简单VR场景

    初探CardBoard:(1)在Unity中实现简单VR场景 为何使用CardBoard 价格低廉 兼容性 前期准备 开始工程 一.简单的环境布置 二.导入SDK 三.SDK基础组件说明 四.将之前的 ...

  10. Unity随记(六) 利用Camera.SetReplacementShader实现简单的场景击杀效果

    先上效果图 2D版本: 3D版本: 小蓝在小红濒死状态下补上了致命一击,人物变成黑色剪影效果,场景配合变成黄白交替闪烁,再配合一个慢动作就是上面的这个简单的场景击杀效果(因为是战斗场景和人物同时做出一 ...

最新文章

  1. 个人银行账户管理程序
  2. pandas怎么选取dataframe中几列
  3. linux下的几种隐藏技术
  4. ORACLE not available如何解决
  5. 机器学习算法选择——特征提取
  6. 搜索打表大找规律 (hdu2045)
  7. [Bug]The maximum array length quota (16384) has been exceeded while reading XML data.
  8. RocketMQ源码解析-PullConsumer取消息(1)
  9. Python 字符串与二进制串的相互转换
  10. 戴尔:未来就绪的IT
  11. Python根据mask在原图上进行标记
  12. WordPress如何变更图片存储目录uploads并取消按年月存放?
  13. Linux导出未越狱Iphone10.3-QQ聊天记录
  14. 计算机输入输出方式的应用,[原创]计算机组成原理之输入输出系统题目及解答...
  15. 照片加水印怎么弄?方法详细介绍
  16. 微商城系统之商家平台任务自动分析处理系统_OctShop
  17. 7-6 吃鱼还是吃肉 (20 分)
  18. 龙芯2号处理器,龙芯2K1000芯片参数
  19. JavaScript中split()方法详解
  20. Java实现头像上传

热门文章

  1. 集成源码深度剖析:Fescar x Spring Cloud 1
  2. 360度测试:KAFKA会丢数据么?其高可用是否满足需求?
  3. 布局文件是如何被解析的?
  4. APUE读书笔记-06系统数据文件和信息-03加密密码
  5. Android 轻松实现语音朗读
  6. WinDbg使用摘要
  7. MSMQ突破4M限制的方法
  8. 再谈互斥锁与条件变量!(终于搞清楚了啊!!!!!)
  9. 单目相机 svd 从图像恢复3维位置_IMU辅助下的单目视觉坐标传递
  10. 编写一个java程序在屏幕上输出,编写一个Java程序在屏幕上输出“This is java!”。...