mongodb 常用命令
转自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 常用命令的更多相关文章
- (转)mongodb常用命令脚本化-自动化运维
mongodb常用命令脚本化-自动化运维 把一些运维中常用到的mongodb命令写成shell脚本,极大的方便了维护 1 设置副本集 #!/bin/bash#mongodb 进入client ...
- mongodb常用命令学习笔记
mongodb常用命令学习笔记 创建数据库 use DATABASE_NAME eg: use users; 如果数据库不存在,则创建数据库,否则切换到指定数据库.要显示刚刚创建的数据库,需要向数据库 ...
- MongoDB常用命令
本文整理了一年多以来我常用的MongoDB操作,涉及mongo-shell.pymongo,既有运维层面也有应用层面,内容有浅有深,这也就是我从零到熟练的历程. MongoDB的使用之前也分享过一篇, ...
- 【命令】MongoDB常用命令记录
如果你想创建一个“myTest”的数据库,先运行use myTest命令,之后就做一些操作(如:db.createCollection('user')),这样就可以创建一个名叫“myTest”的数据库 ...
- mongoDB常用命令与安全加固
一.介绍 MongoDB 是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案.MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系 ...
- mongodb常用命令【转】
mongodb由 C++编写,其名字来自humongous这个单词的中间部分,从名字可见其野心所在就是海量数据的处理.关于它的一个最简洁描述为:scalable, high-performance, ...
- Mongodb常用命令介绍
查看命令的方式: 1.在shell中运行db.listCommands() 2.在浏览器中访问管理员接口:http://ipaddress:28017/_commands 下面介绍在Mongodb中最 ...
- [转载]MongoDB 常用命令
mongodb由C++编写,其名字来自humongous这个单词的中间部分,从名字可见其野心所在就是海量数据的处理.关于它的一个最简洁描述为:scalable, high-performance, o ...
- Windows下MongoDB常用命令
以下命令中的启动与暂停服务命令需要使用管理员身份运行cmd.exe,其他命令需要先cd到Mongodb安装目录的bin目录. 1.启动服务:net start [Mongodb服务名].示例: net ...
- ubuntu下mongodb常用命令
1. 启动脚本 #!/bin/bash mongod --dbpath /usr/local/mongodb/data1 chmod +x run-mongodb 2. 关闭数据库服务 官方文档说可以 ...
随机推荐
- hdu 1290
http://www.cnblogs.com/songacm/p/3537419.html 引用自这篇博客,真·大神
- 洛谷 P1019 单词接龙 Label:dfs
题目描述 单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重合 ...
- HDU 4632 Palindrome subsequence(DP)
题目链接 做的我很无奈,当时思路很乱,慌乱之中,起了一个想法,可以做,但是需要优化.尼玛,思路跑偏了,自己挖个坑,封榜之后,才从坑里出来,过的队那么多,开始的时候过的那么快,应该就不是用这种扯淡方法做 ...
- HDNOIP201404最短路径
HDNOIP201404最短路径 难度级别: A: 编程语言:不限:运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 a.b.c是3个互不相等的1 ...
- JS按位非(~)运算符与~~运算符的理解分析
按位非运算符,简单的理解就是改变运算数的符号并减去1,当然,这是只是简单的理解能转换成number类型的数据. 那么,对于typeof var!==”number”的类型来说,进行运算时,会尝试转化成 ...
- cvReleaseImage 释放内存出错
cvReleaseImage是OpenCV中C语言库中的释放图片内存的函数,比如我们加载或者克隆了一幅图片,当不需要这幅图片了时,我们为了避免内存泄露,需要释放这些空间,可以参见我之前的博客OpenC ...
- 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 ...
- Bind的DNS解析设置forward - 阿权的书房
bind有一项功能是forward,也就是只是做dns缓存. 适用以下情况: 1 做临时测试,不想向上级申请修改ns记录2 不想向上级申请修改ns记录但希望交给另外的服务器处理3 只有有限的公网IP, ...
- 【转】在.Net中关于AOP的实现
原文地址:http://www.uml.org.cn/net/201004213.asp 一.AOP实现初步 AOP将软件系统分为两个部分:核心关注点和横切关注点.核心关注点更多的是Domain Lo ...
- 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 ...