MongoDB 经常使用命令总结

简单的的增删改查数据



在查询结果中指定显示或者不显示某个字段




比如,我们希望在 lessons 集合中查找全部数据,可是不希望在返回结果中包括 slides 字段;由于 slides 是一个巨长的以 base64 表示的图片数组。影响查询结果的阅读。

那么我们就能够在 query object 后面跟上一个參数。例如以下:

db.lessons.find({}, {slides:0});

相同也能够明白指定显示哪些字段:

db.bios.find(

{ },

{ name: 1, contribs: 1, _id: 0 }

)

比較操作 – 大于和小于



我们要查询时间范围在 startTime 和 endTime 间的数据记录,同一时候要求 Content 内容是数字 1 到 5。

db.wemessages.find( {$and: [

    { CreateTime: {$gt: (startTime.getTime()/1000).toString()} },

    { CreateTime: {$lt: (endTime.getTime()/1000).toString()} },

    { Content: {$in: ['1','2','3','4','5']} }

  ]}

);

这里我们使用了 $and 逻辑操作符。和 $gt, $lt, $in 比較操作符。



有关 MongoDB 的操作符,參见:http://docs.mongodb.org/manual/reference/operator/query/



更新一条记录的某些属性



使用 $set 表示仅仅更新指定的字段。而不改动其它字段,我们普通情况下都会是这样的意图。

db.lessons.update({}, {$set:{'course_id':'c.101'}});

更新多条记录



使用 {multi: true}。參见: http://www.lai18.com/content/411017.html

db.lessons.update({}, {$set:{'course_id':'c.101'}}, {multi: true});

db.muusers.update({username: 'tom'}, {$set: {mobile: '6508639713'}}, {multi: true});

排序查询结果



使用 sort 方法

db.muusers.find().sort({firsttime: -1});

-1 降序。1 升序



清爽地查看查询结果



使用 pretty 方法

db.lessons.find({lesson: 1}, {slides: 0, mp3voice:0, wavvoice:0, wavvoicemin: 0}).pretty();

查看不存在某个字段的记录



使用 $exists

db.questions.find({'sequence_id': 1, 'pngslide': {$exists: false}});

db.mycollection.find( { "price" : { "$exists" : false } } )

限定查询结果个数 limit, 以及跳过開始的多少条记录 skip



使用 limit 和 skip

db.translation_memory.find({mp3voice: {$exists: false}}, null, {limit: 100});

删除 collection 中的全部内容



使用 collection 的 remove 方法

db.collection.remove();

得到 collection 中一个字段的长度



链式调用

db.lessons.find({lesson: 1}).toArray()[0].slides.join('').length

Collection 操作



更名 collection




使用 renameCollection 方法

db.quizzes.renameCollection('questions');

删除一个字段



使用 $unset

db.questions.update({}, {$unset: {quiz_name:1}}, {multi: true});

db.learning_progress.update({}, {$unset: {lesson:1}}, {multi: true});

db.lessons.update({}, {$unset: {wavvoice:1, wavvoicemin:1}}, {multi: true});

改动一个字段的名称



使用 $rename

db.students.update( { _id: 1 }, { $rename: { 'nickname': 'alias', 'cell': 'mobile' } } )

注意:有些MongoDB的关键词不能用做Collection的名称,比如:group。

《MongoDB技术知识》系列技术文章整理收藏

1mongoDB入门须要了解的基本知识

2MongoDB新手教程(包括安装、经常使用命令、相关概念、使用技巧、常见操作等)

3MongoDB新手教程之分片技术具体解释

4MongoDB新手教程之经常使用的运维技术介绍

5MongoDB新手教程之C#驱动操作实例

6MongoDB新手教程之主从复制配置具体解释

7MongoDB新手教程之聚合和游标操作介绍

8MongoDB新手教程之细说MongoDB数据库的增删查改操作

9MongoDB新手教程之索引操作浅析

10MongoDB新手教程之Windows下的MongoDB数据库安装图解

11MongoDB查询字段没有创建索引导致的连接超时异常解案例分享

12MongoDB日志文件过大的解决方法

13MongoDB社区版和企业版的区别对比表

14MongoDB中文社区发起人带你学习mongoDB

15对MongoDB数据库性能瓶颈分析

16MongoDB 分页查询的方法及性能

17MongoDB分片存储的集群架构实现

18Mongodb批量删除gridfs文件实例

19Mongodb添加、移除Shard Server实例

20Mongodb添加、移除Arbiter节点实例

21CentOS系统下MongoDB安装及配置教程

22MongoDB改动、删除文档的域属性实例

23Python中的MongoDB基本操作:连接、查询实例

24MongoDB导出查询结果到文件样例

25MongoDB中创建索引须要注意的事项

26MongoDB中的一些坑(最好不要用)

27给MongoDB加入用户权限方法分享

28Linux系统下MongoDB的简单安装与基本操作

29MongoDB教程之基本管理命令

30MongoDB教程之聚合(count、distinct和group)

31MongoDB教程之索引介绍

32MongoDB教程之数据操作实例

33MongoDB教程之入门基础知识

34MongoDB教程之查询操作实例

35MongoDB系列教程(四):设置用户訪问权限

36MongoDB系列教程(八):GridFS存储具体解释

37MongoDB数据库的特色和长处介绍

38MongoDB简单介绍 MongoDB五大特色

39MongoDB系列教程(六):java操作mongodb实例

40MongoDB系列教程(七):MongoDb数据结构具体解释

41MongoDB系列教程(五):mongo语法和mysql语法对照学习

42MongoDB系列教程(二):MongoDB简单介绍

43MongoDB系列教程(一):NoSQL起源

44MongoDB中的MapReduce简单介绍

45MongoDB系列教程(三):Windows中下载和安装MongoDB

46浅谈MongoDB的备份方式

47MongoDB 经常使用命令总结

48MongoDB与MySQL的操作对照表及差别介绍

49MongoDB安全配置具体解释

50MongoDB中的bson介绍和使用实例

[整理]MongoDB 经常使用命令总结的更多相关文章

  1. MongoDB学习笔记-命令

    连接数据库: mongodb://账号:密码@IP/库名 更多方式参考:http://www.runoob.com/mongodb/mongodb-connections.html 命令整理: 名称 ...

  2. 前端开发小白必学技能—非关系数据库又像关系数据库的MongoDB快速入门命令(2)

    今天给大家道个歉,没有及时更新MongoDB快速入门的下篇,最近有点小忙,在此向博友们致歉.下面我将简单地说一下mongdb的一些基本命令以及我们日常开发过程中的一些问题.mongodb可以为我们提供 ...

  3. mongodb与mysql命令对比

    mongodb与mysql命令对比 传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成,MongoDB是由数据库(database).集合(col ...

  4. 解决mongodb设备mongod命令不是内部或外部的命令

    1:安装 去mongodb的官网http://www.mongodb.org/downloads下载32bit的包 解压后会出现下面文件 在安装的盘C:下建立mongodb目录,拷贝bin目录到该目录 ...

  5. mongodb 常用的命令

    mongodb 常用的命令 对数据库的操作,以及登录 1 进入数据库 use admin 2 增加或修改密码 db.addUser('wsc', '123') 3查看用户列表 db.system.us ...

  6. Mongodb的mongostat命令

    Mongodb的mongostat命令可实时(1秒钟刷新一次)显示Mongodb数据库的运行情况,可视为性能监视器. 1.启动命令:authenticationDatabase表示用户认证证书所在的数 ...

  7. mongodb输错命令后不能删除问题

    在用crt连接Linux操作MongoDB时,命令输错了,想删除的时候,却删除不了,原因是crt的配置有问题,解决办法如下 第一步:选项-->会话选项

  8. 【mongodb】——常用命令大全

    MongoDB是NoSQL数据库系统中比较流行的数据库之一.它也是最接近关系型数据库的,一个数据库可以包含多个集合(Collection),类似于关系数据库中的表:而每个集合中可以存储一组由列标识的记 ...

  9. MongoDB基本管理命令 [转]

    MongoDB基本管理命令 linux下配置安装mongodb 10分钟玩转mongoDB 官网安装教程 使用命令行方式连接mongodb: mongo /admin -u用户名 -p密码  --连接 ...

随机推荐

  1. Qt的信号槽,一个老MFC的经验

    最近在利用闲暇时间研究Qt,大概有3周了,看过了官网的white paper并浏览了一遍<C++ GUI Programming with Qt 4, 2nd Edition>.总的来说, ...

  2. java 抽象类与接口的区别 整理

    抽象类与接口的区别 抽象类 包含抽象方法的类就是抽象类,声明的语句:abstract class 必须是public protected 接口 对行为的抽象,声明语句:interface 抽象方法的修 ...

  3. vs2010 条件断点 has changed是什么意思?

    在vs2010 断点设置 condition里,有2个选项可以选择: 一个是true,另个是has changed,true好理解,如果表达式为真则停止.但是has changed是什么意思.看了官网 ...

  4. 删除 Windows Azure 网站上的标准服务器头

    编辑人员注释: 本文章由 Windows Azure 网站团队的项目经理 Erez Benari 撰写. 请求和响应中包含的 HTTP 头是Web 服务器和浏览器之间的 HTTP 通信过程的一部分.例 ...

  5. win32 api Windows窗口的创建

    windows窗口的创建有以下几个步骤: 1.创建注册窗口类 2.创建窗口句柄 3.显示更新窗口 4.消息循环 1.创建注册窗口类 所谓创建窗口类就是定义一个WNDCLASS类对象,并将该对象进行初始 ...

  6. mysql中怎样查看和删除唯一索引

    mysql中怎样查看和删除唯一索引. 查看唯一索引: show index from mytable;//mytable 是表名 查询结果例如以下: 查询到唯一索引后,怎样删除唯一索引呢,使用例如以下 ...

  7. B - 畅通工程(并查集)

    对并查集理解之后就可以做这种题了,虽说这种题做的不多,这道题做过才这么快搞定,可是还是挺happy滴,加油 Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接 ...

  8. vim下设置tab

    前言:大多数情况下tab键的宽度设置为4个空格,这个可以根据自己 的代码风格进行替换,然而当你提交不同的语言的代码的时候python 和c的时候就有区别了.c的话一般tab键做缩进,而python提交 ...

  9. 函数可以作为Javascript对象(哈希表)的键吗

    一般Javascript书在讲解对象时,都指出Javascript中的对象可以作为哈希表,存储键值数据.通常情况下,键为字符串,如果键是数字的话,实际上在内部也会转换为字符串. 比如 var o = ...

  10. java序列化对象 插入、查询、更新到数据库

    java序列化对象 插入.查询.更新到数据库 : 实现代码例如以下: import java.io.ByteArrayInputStream; import java.io.ByteArrayOutp ...