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

MongoDB简单CRUD场景的更多相关文章

  1. MongoDB的CRUD操作

    1. 前言 在上一篇文章中,我们介绍了MongoDB.现在,我们来看下如何在MongoDB中进行常规的CRUD操作.毕竟,作为一个存储系统,它的基本功能就是对数据进行增删改查操作. MongoDB中的 ...

  2. 【转载】谈MongoDB的应用场景

    引用:http://blog.csdn.net/adparking/article/details/38727911 MongoDB的应用场景在网上搜索了下,很少介绍关于传统的信息化应用中如何使用Mo ...

  3. 谈MongoDB的应用场景

    转载自:http://blog.csdn.net/adparking/article/details/38727911 MongoDB的应用场景在网上搜索了下,很少介绍关于传统的信息化应用中如何使用M ...

  4. MongoDB简单认识

    MongoDB 为何物 NoSQL 泛指非关系型数据库,该词是关系型数据库(即 SQL)的相对称呼.MongoDB 是非关系型数据库中较为人熟知的一种. 它拥有很多优秀特性,例如高性能.高可用.支持丰 ...

  5. java web学习总结(十九) -------------------监听器简单使用场景

    一.统计当前在线人数 在JavaWeb应用开发中,有时候我们需要统计当前在线的用户数,此时就可以使用监听器技术来实现这个功能了. 1 package me.gacl.web.listener; 2 3 ...

  6. MongoDB学习:(二)MongoDB简单使用

    MongoDB学习:(二)MongoDB简单使用 MongoDB使用: 执行mongodb的操作之前,我们需要运行命令,来进入操作命令界面 >mongo 提示该错误,说明我们系统缺少一个补丁,该 ...

  7. 使用Struts2和jQuery EasyUI实现简单CRUD系统(转载汇总)

    使用Struts2和jQuery EasyUI实现简单CRUD系统(一)——从零开始,ajax与Servlet的交互 使用Struts2和jQuery EasyUI实现简单CRUD系统(二)——aja ...

  8. mongodb 简单部署方案及实例

    mongodb 简单部署方案及实例 转载:http://my.oschina.net/zhuzhu0129/blog/53290 第一节 准备工作 一 安装mongodb  我这里选用rehl 5.6 ...

  9. .Net Core MongoDB 简单操作。

    一:MongoDB 简单操作类.这里引用了MongoDB.Driver. using MongoDB.Bson; using MongoDB.Driver; using System; using S ...

随机推荐

  1. 数据库 Oracle数据库对象二

    视图 --视图是对表逻辑抽象 --视图的好处:简化查询 --视图是一种虚表 --视图建立在已有表的基础上,视图赖以建立的这些吧称为基表. --向视图提供数据内容的语句为select语句,可以将视图理解 ...

  2. could not find com.android.support.appcompat-v7:23.4.0

    导入别人的工程到AS中,出现错误,是由于android studio的版本比所加载的工程所使用的版本低,有些包不是最新的. 我的android studio这个包的版本是 v7:23.1.1 所以需要 ...

  3. php -- php的事务处理

    MYSQL的事务处理主要有两种方法. 1.用begin,rollback,commit来实现 begin 开始一个事务 rollback 事务回滚 commit 事务确认 2.直接用set来改变mys ...

  4. php -- php获取ip地址和主机名

    客户端IP相关的变量1. $_SERVER['REMOTE_ADDR']; 客户端IP,有可能是用户的IP,也有可能是代理的IP. 2. $_SERVER['HTTP_CLIENT_IP']; 代理端 ...

  5. ThinkPHP整合cropper剪裁图片上传功能

    1.先下载核心文件:https://github.com/fengyuanchen/cropper 2. 3.对于index.html文件 4.对于main.js文件 5.对于crop.php文件 & ...

  6. 漫游Kafka设计篇之Producer和Consumer(4)

    Kafka Producer 消息发送 producer直接将数据发送到broker的leader(主节点),不需要在多个节点进行分发.为了帮助producer做到这点,所有的Kafka节点都可以及时 ...

  7. Apache版Phoenix的安装(图文详解)

    不多说,直接上干货! 写在前面的话 我这里,三个节点的bigdata集群.分别为master.slave1和slave2. 1.Phoenix的下载 我的HBase版本是hbase-0.98.19. ...

  8. Fel初认识

    Fel在源自于企业项目,设计目标是为了满足不断变化的功能需求和性能需求. Fel是开放的,引擎执行中的多个模块都可以扩展或替换.Fel的执行主要是通过函数实现,运算符(+.-等都是Fel函数),所有这 ...

  9. 第四篇:new和delete的基本用法

    前言 new和delete是C++中用来动态管理内存分配的运算符,其用法较为灵活.如果你对它们的几种不同用法感到困惑,混淆,那么接着看下去吧. 功能一:动态管理单变量/对象空间 下面例子使用new为单 ...

  10. poj_2559 单调栈

    题目大意 给出一个柱形图中柱子的高度,每个柱子的宽度为1,柱子相邻.求出柱形图中可能形成的矩形的最大面积. 题目分析 以每个柱子(高度为h[i])为中心,向两边延展求出以该h[i]为高度的矩形的最大宽 ...