转自http://www.blogjava.net/waterjava/archive/2011/03/23/346819.html

命令行

--help 显示命令行参数
--nodb 不连接数据库方式启动,稍后可以使用 new Mongo() 或 connect() 来建立连接
--shell 从命令行运行完一个 .js 文件后,停留在shell中,而不是结束

特殊命令

非JavaScript的辅助指令:

help 显示帮助
db.help() 显示 db 方法帮助
db.myColl .help() 显示聚集的方法帮助
show dbs 打印服务器上所有数据库的列表
use dbname 设置db变量来指明使用服务器上的 dbname 数据库
show collections 打印当前数据库的所有聚集
show users 打印当前数据库的用户
show profile 打印最近耗时大于1ms的profiling操作

基本的Shell Javascript操作

db 指向当前数据库对象和连接的变量,已经在你的实例里定义好。
db.auth(user,pass) 数据库认证(如果运行安全模式的话)
coll = db.collection 访问数据库里特定的 collection
cursor = coll.find() 查找聚集里所有的对象。参考 [查询] 。
coll.remove(objpattern ) 从聚集里删除匹配的对象。 
objpattern 是一个指定匹配的域的对象,例如:coll.remove( { name: "Joe" } );
coll.save(object ) 在聚集中保存对象,如果已经存在的话则更新它。 
如果对象有 presave 方法,则会在保存到数据库之前(插入和更新之前)调用该方法。
coll.insert(object) 向聚集中插入对象。不会检查该对象是否已经存在聚集中(即,不是 upsert)
coll.update(...) 在聚集中更新对象。update() 有许多参数,请查看 更新 文档。
coll.ensureIndex( { name : 1 } ) 对 name 建索引。如果索引存在则不做任何事。
coll.drop() 删除 coll 聚集
db.getSisterDB(name) 返回当前连接的另一个数据库。它允许跨数据库查询,例如:db.getSisterDB('production').getCollectionNames()

查询

coll.find() 查询所有文档
it 循环上次 find() 调用返回的游标
coll.find( criteria ); 查询聚集中匹配 criteria 的对象。例如:coll.find( { name: "Joe" } );
coll.findOne( criteria); 查询并返回一个对象。如果没有找到则返回 null。如果你只需要返回一个对象,这个方法比 find() as limit(1) 效率更高。如果元素类型是字符串,数字或时间,你还可以使用正则表达式:coll.find( { name: /joe/i } );
coll.find( criteria, fields ); 查询对象里特定的域。例如:coll.find( {}, {name:true} );
coll.find().sort( {field :1[, field :1] }); 对返回结果进行排序(field ASC)。使用 -1 表示 DESC。
coll.find( criteria ).sort( { field : 1 } ) 查找匹配 criteria 的对象,并对 field 进行排序。
coll.find( ... ).limit(n ) 限制结果返回 n 行。如果你只需要某几行数据,推荐这样做来获得最优性能。
coll.find( ... ).skip(n) 跳过 n 行结果。
coll.count() 返回聚集里对象的总数。
coll.find( ... ).count() 返回匹配该查询的对象总数。注意,该返回会忽略 limit 和 skip。比如有100行记录匹配该查询,但是limit为10,count() 仍会返回100。这比你自己循环更快,但仍然需要消耗些时间。

更多信息请参考 [查询] 。

错误检查

[{{db.getLastError()}}] 返回上次操作的错误
db.getPrevError() 返回之前操作的错误
db.resetError() 清除错误记录

管理命令

db.cloneDatabase(fromhost) 从另外指定的主机拷贝当前数据数据库。fromhost必须为noauth模式。
db.copyDatabase(fromdb, todb, fromhost) 拷贝fromhost的fromdb数据库到当前服务器的todb数据库。fromhost必须为noauth模式。
db.repairDatabase() 修复当前数据库。如果数据库很大则该操作会非常慢。
db.addUser(user,pwd) 给当前数据库添加用户。
db.getCollectionNames() 获得所有聚集的列表。
db.dropDatabase() 删除当前数据库。

打开额外连接

db = connect("<host>:<port>/<dbname>") 打开一个新的数据库连接。一个shell可能有多个连接,但是shell自动的getLastError只用于 'db' 变量。
conn = new Mongo("hostname") 打开一个新的服务器连接。然后可以使用 getDB() 来选择一个数据库。
db = conn.getDB("dbname") 对一个连接选择一个特定的数据库。

其他

Object.bsonsize(db.foo.findOne()) 打印一个数据库对象的bson大小(mongo 版本1.3及以上)
db.foo.findOne().bsonsize()

打印一个数据库对象的bson大小 (mongo 版本1.3之前)

mongodb 常用命令的更多相关文章

  1. (转)mongodb常用命令脚本化-自动化运维

    mongodb常用命令脚本化-自动化运维 把一些运维中常用到的mongodb命令写成shell脚本,极大的方便了维护   1 设置副本集   #!/bin/bash#mongodb 进入client ...

  2. mongodb常用命令学习笔记

    mongodb常用命令学习笔记 创建数据库 use DATABASE_NAME eg: use users; 如果数据库不存在,则创建数据库,否则切换到指定数据库.要显示刚刚创建的数据库,需要向数据库 ...

  3. MongoDB常用命令

    本文整理了一年多以来我常用的MongoDB操作,涉及mongo-shell.pymongo,既有运维层面也有应用层面,内容有浅有深,这也就是我从零到熟练的历程. MongoDB的使用之前也分享过一篇, ...

  4. 【命令】MongoDB常用命令记录

    如果你想创建一个“myTest”的数据库,先运行use myTest命令,之后就做一些操作(如:db.createCollection('user')),这样就可以创建一个名叫“myTest”的数据库 ...

  5. mongoDB常用命令与安全加固

    一.介绍 MongoDB 是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案.MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系 ...

  6. mongodb常用命令【转】

    mongodb由 C++编写,其名字来自humongous这个单词的中间部分,从名字可见其野心所在就是海量数据的处理.关于它的一个最简洁描述为:scalable, high-performance, ...

  7. Mongodb常用命令介绍

    查看命令的方式: 1.在shell中运行db.listCommands() 2.在浏览器中访问管理员接口:http://ipaddress:28017/_commands 下面介绍在Mongodb中最 ...

  8. [转载]MongoDB 常用命令

    mongodb由C++编写,其名字来自humongous这个单词的中间部分,从名字可见其野心所在就是海量数据的处理.关于它的一个最简洁描述为:scalable, high-performance, o ...

  9. Windows下MongoDB常用命令

    以下命令中的启动与暂停服务命令需要使用管理员身份运行cmd.exe,其他命令需要先cd到Mongodb安装目录的bin目录. 1.启动服务:net start [Mongodb服务名].示例: net ...

  10. ubuntu下mongodb常用命令

    1. 启动脚本 #!/bin/bash mongod --dbpath /usr/local/mongodb/data1 chmod +x run-mongodb 2. 关闭数据库服务 官方文档说可以 ...

随机推荐

  1. hdu 1290

    http://www.cnblogs.com/songacm/p/3537419.html 引用自这篇博客,真·大神

  2. 洛谷 P1019 单词接龙 Label:dfs

    题目描述 单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重合 ...

  3. HDU 4632 Palindrome subsequence(DP)

    题目链接 做的我很无奈,当时思路很乱,慌乱之中,起了一个想法,可以做,但是需要优化.尼玛,思路跑偏了,自己挖个坑,封榜之后,才从坑里出来,过的队那么多,开始的时候过的那么快,应该就不是用这种扯淡方法做 ...

  4. HDNOIP201404最短路径

    HDNOIP201404最短路径 难度级别: A: 编程语言:不限:运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 a.b.c是3个互不相等的1 ...

  5. JS按位非(~)运算符与~~运算符的理解分析

    按位非运算符,简单的理解就是改变运算数的符号并减去1,当然,这是只是简单的理解能转换成number类型的数据. 那么,对于typeof var!==”number”的类型来说,进行运算时,会尝试转化成 ...

  6. cvReleaseImage 释放内存出错

    cvReleaseImage是OpenCV中C语言库中的释放图片内存的函数,比如我们加载或者克隆了一幅图片,当不需要这幅图片了时,我们为了避免内存泄露,需要释放这些空间,可以参见我之前的博客OpenC ...

  7. v.size() return size_t not int 返回无符号整型数

    In the C++ STL, the vector size() function return size_t, which is unsigned int, not int. So imagine ...

  8. Bind的DNS解析设置forward - 阿权的书房

    bind有一项功能是forward,也就是只是做dns缓存. 适用以下情况: 1 做临时测试,不想向上级申请修改ns记录2 不想向上级申请修改ns记录但希望交给另外的服务器处理3 只有有限的公网IP, ...

  9. 【转】在.Net中关于AOP的实现

    原文地址:http://www.uml.org.cn/net/201004213.asp 一.AOP实现初步 AOP将软件系统分为两个部分:核心关注点和横切关注点.核心关注点更多的是Domain Lo ...

  10. Nginx 报错: nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory) 的解决方法

    今天测试域名访问不了,登陆 Linux(Ubuntu)重启Nginx: nginx -s reload 结果报错: nginx: [error] open() : No such file or di ...