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}

代码如下:

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。

以上所述就是本文的全部内容了,希望大家能够喜欢。

时间: 2015-05-09

MongoDB入门教程(包含安装、常用命令、相关概念、使用技巧、常见操作等)

一.安装和配置   MongoDB 的官方下载站是 http://www.mongodb.org/downloads,可以去上面下载最新的安装程序   Windows 平台的安装   ● 步骤一: 下载 MongoDB     点击上方官方下载地址, 并下载 Windows 版本 ● 步骤二: 设置 MongoDB 程序存放目录     下载完成后, 解压到自定义文件夹,例: D:\mongodb\ ● 步骤三: 设置数据文件存放目录     在 D:\mongodb\ 目录下创建 db 和 l

MongoDB的mongo shell常用操作方法及操作脚本笔记

一.常用命令 1.Help查看命令提示 help db.help(); db.yourColl.help(); db.youColl.find().help(); rs.help(); 2.切换/创建数据库 use yourDB; 当创建一个集合(table)的时候会自动创建当前数据库 3.查询所有数据库 show dbs; 4.删除当前使用数据库 db.dropDatabase(); 5.从指定主机上克隆数据库 db.cloneDatabase("127.0.0.1"); 将指定机器

MongoDB的一些常用查询方法

Query.All("name", "a", "b");//通过多个元素来匹配数组 Query.And(Query.EQ("name", "a"), Query.EQ("title", "t"));//同时满足多个条件 Query.EQ("name", "a");//等于 Query.Exists("type"

php中的mongodb select常用操作代码示例

前面说到了mongodb安装,配置,集群,以及php的插入与更新等,请参考:mongodb. 下面说一下,mongodb select的常用操作 测试数据: 复制代码 代码如下: { "_id" : 1, "title" : "红楼梦", "auther" : "曹雪芹", "typeColumn" : "test", "money" : 80,

MongoDB常用操作命令大全

如:如果你想创建一个"myTest"的数据库,先运行use myTest命令,之后就做一些操作(如:db.createCollection('user')),这样就可以创建一个名叫"myTest"的数据库. 一.数据库常用命令1.Help查看命令提示 复制代码 代码如下: helpdb.help();db.yourColl.help();db.youColl.find().help();rs.help(); 2.切换/创建数据库 复制代码 代码如下: use you

MongoDB使用小结 一些常用操作分享

MongoDB的使用之前也分享过一篇,稍微高阶点:见这里:<MongoDB使用小结> 1.shell登陆和显示 假设在本机上有一个端口为17380的MongoDB服务,假设已经把mongo bin文件加入到系统PATH下. 登陆:mongo --port 17380 显示DB:show dbs 进入某DB:use test_cswuyg 显示集合:show tables 2.简单查找 查找文档:db.test_mac_id.find({'a': 'b'}) 删除文档:db.test_mac_i

MongoDB入门教程之常用的运维技术介绍

这一篇我们以管理员的视角来看mongodb,作为一名管理员,我们经常接触到的主要有4个方面: 1.  安装部署 2.  状态监控 3.  安全认证 4.  备份和恢复, 下面我们就一点一点的讲解. 一:安装部署 我之前的文章都是采用console程序来承载,不过在生产环境中这并不是最佳实践,谁也不愿意在机器重启后满地找牙似找mongodb, 在mongodb里面提供了一个叫做"服务寄宿"的模式,我想如果大家对wcf比较熟悉的话很容易听懂.好了,我们实践一下,这里我开一下D盘里面的mon

MongoDB在PHP中的常用操作小结

$mongodb = new Mongo(); //$connection = new Mongo( "$dburl:$port" ); // connect to a remote host (default port) $mydb = $mongodb->mydb;  //隐性创建数据库mydb $mydb = $mongodb->selectDB("mydb");  //直接选择已经存在的数据库 $collection = $mydb->my

MongoDB常用命令小结

MongoDB常用命令: 超级用户相关: use admin #增加或修改用户密码 db.addUser(ixigua,'pwd') #查看用户列表 db.system.users.find() #用户认证 db.auth(ixigua,'pwd') #删除用户 db.removeUser('mongodb') #查看所有用户 show users #查看所有数据库 show dbs #查看所有的collection show collections #查看各collection的状态 db.p

MongoDB与MySQL常用操作语句对照

一.MongoDB对MySQL常用的SQL语句对应的实现 复制代码 代码如下: -------------- MySQL: SELECT * FROM user Mongo: db.user.find() -------------- MySQl: SELECT * FROM user WHERE name = 'foobar' Mongo: db.user.find({ 'name' : 'foobar' }) -------------- MySql: INSERT INTO user ('

Mongodb 数据类型及Mongoose常用CURD

前言 看完了Node.js实战,其中在数据存储部分提到了Redis.Mongodb,我自己也根据书中的介绍写了几个简单的demo,在demo的过程首先遇到的问题就是数据类型和常见的CURD写法. mongodb的常见操作有两种方式,一个是直接使用API,也就相当于你在SQL Server客户端中使用T-SQL编写SQL语句来操作数据一样,其次就是在程序中使用mongoose驱动来操作数据,相当于我们在程序里用ADO.NET或EF来操作数据,如果你已经写了几个调用API的demo,那么我建议再回过

python数据类型_字符串常用操作(详解)

这次主要介绍字符串常用操作方法及例子 1.python字符串 在python中声明一个字符串,通常有三种方法:在它的两边加上单引号.双引号或者三引号,如下: name = 'hello' name1 = "hello bei jing " name2 = '''hello shang hai haha''' python中的字符串一旦声明,是不能进行更改的,如下: #字符串为不可变变量,即不能通过对某一位置重新赋值改变内容 name = 'hello' name[0] = 'k' #通

mongodb 数据类型(null/字符串/数字/日期/内嵌文档/数组等)

MongoDB的文档类似于JSON,JSON只是一种简单的表示数据的方式,只包含了6种数据类型(null.布尔.数字.字符串.数组及对象). JSON的数据类型的局限性: 1.无日期类型,对日期型的处理较为繁琐 2.无法区分浮点数和整数.32位和64位 3.其他类型表示局限 如函数.正则式等 Mongodb使用BSON(Binary JSON)来组织数据,BSON还提供日期.32位数字.64位数字等类型.下面为在mongodb shell中这些类型在文档中是如何表示: 1.null  用于表示空

MongoDB支持的java数据类型和测试例子

mongodb的java数据类型有: Object Ids 自动IDRegular Expressions 正则表达式搜索记录Dates/Times 时间Database References 数据基础结构Binary Data 二进制流Timestamp Data 时间标记戳Code Data 代码数据Embedded Documents 嵌入式文档Arrays 数组类型 详细参考原来英文 http://docs.mongodb.org/ecosystem/drivers/java-types

Mongoose学习全面理解(推荐)

一.创建schemas 创建schemas的方式: var userSchema = new mongoose.Schema({ name: String, email: String, createdOn: Date }); schemas中的数据类型有以下几种: String Number Date Boolean Buffer ObjectId Mixed Array 特别需要说明一下ObjectId类型和Mixed类型以及Array类型,在schemas中声明这几种类型的方式如下: //

node.js连接MongoDB数据库的2种方法教程

前言 MongoDB Node.js驱动程序是被官方所支持的原生node.js驱动程序,他是至今为止最好的实现, 并且得到了MongoDB官方的支持.MongoDB团队已经采用MongoDB Node.js驱动程序作为标准方法. npm install mongodb@1.4.3 // MongoDB Node.js驱动程序 npm install mongoose@3.8.8 //mongoose模块 要从Node.js连接MongoDB数据库我们有两种方法可选择: 通过实例化mongodb模

Node+Express+MongoDB实现登录注册功能实例

注入MongoDB 依赖 var mongoose = require("mongoose"); 由于需要进行表单处理,需要用到bodyParser中间件 bodyParser模块来做文件解析,将表单里的数据进行格式化 var bodyParser = require("body-parser"); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); 登录后将