MongoDb 命令查询所有数据库列表
> show dbs
如果想查看当前连接在哪个数据库下面,可以直接输入
> db
test
想切换到admin数据库下面
> use
admin
switched to db
admin
查看
> db
admin
想查看
admin 下有哪些表或者叫collection,可以输入
> show collections
system.indexes
user
想知道mongodb支持哪些命令,可以直接输入help
> help
- HELP
- show dbs show database names
- show collections show collections in current database
- show users show users in current database
- show profile show most recent system.profile entries with time >= 1ms
- use <db name> set curent database to <db name>
- db.help() help on DB methods
- db.foo.help() help on collection methods
- db.foo.find() list objects in collection foo
- db.foo.find( { a : 1 } ) list objects in foo where a == 1
- it result of the last line evaluated; use to further iterate
如果想知道当前数据库支持哪些方法: > db.help();
- DB methods:
- db.addUser(username, password) 添加数据库授权用户
- db.auth(username, password) 访问认证
- db.cloneDatabase(fromhost) 克隆数据库
- db.commandHelp(name) returns the help for the command
- db.copyDatabase(fromdb, todb, fromhost) 复制数据库
- db.createCollection(name, { size : ..., capped : ..., max : ... } ) 创建表
- db.currentOp() displays the current operation in the db
- db.dropDatabase() 删除当前数据库
- db.eval_r(func, args) run code server-side
- db.getCollection(cname) same as db['cname'] or db.cname
- db.getCollectionNames() 获取当前数据库的表名
- db.getLastError() - just returns the err msg string
- db.getLastErrorObj() - return full status object
- db.getMongo() get the server connection object
- db.getMongo().setSlaveOk() allow this connection to read from the nonmaster member of a replica pair
- db.getName()
- db.getPrevError()
- db.getProfilingLevel()
- db.getReplicationInfo()
- db.getSisterDB(name) get the db at the same server as this onew
- db.killOp() kills the current operation in the db
- db.printCollectionStats() 打印各表的状态信息
- db.printReplicationInfo() 打印主数据库的复制状态信息
- db.printSlaveReplicationInfo() 打印从数据库的复制状态信息
- db.printShardingStatus() 打印分片状态信息
- db.removeUser(username) 删除数据库用户
- db.repairDatabase() 修复数据库
- db.resetError()
- db.runCommand(cmdObj) run a database command. if cmdObj is a string, turns it into { cmdObj : 1 }
- db.setProfilingLevel(level) 0=off 1=slow 2=all
- db.shutdownServer()
- db.version() current version of the server
如果想知道当前数据库下的表或者表collection支持哪些方法,可以使用一下命令如: > db.user.help(); user为表名
- DBCollection help
- db.foo.count() 统计表的行数
- db.foo.dataSize() 统计表数据的大小
- db.foo.distinct( key ) - eg. db.foo.distinct( 'x' ) 按照给定的条件除重
- db.foo.drop() drop the collection 删除表
- db.foo.dropIndex(name) 删除指定索引
- db.foo.dropIndexes() 删除所有索引
- db.foo.ensureIndex(keypattern,options) - options should be an object with these possible fields: name, unique, dropDups 增加索引
- db.foo.find( [query] , [fields]) - first parameter is an optional query filter. second parameter is optional set of fields to return.
根据条件查找数据
-----------------------
通过条件查询: db.foo.find( { x : 77 } , { name : 1 , x : 1 } )
-----------------------------
db.foo.find(...).count()
db.foo.find(...).limit(n) 根据条件查找数据并返回指定记录数
db.foo.find(...).skip(n)
db.foo.find(...).sort(...) 查找排序
db.foo.findOne([query]) 根据条件查询只查询一条数据
db.foo.getDB() get DB object associated with collection 返回表所属的库
db.foo.getIndexes() 显示表的所有索引
db.foo.group( { key : ..., initial: ..., reduce : ...[, cond: ...] } ) 根据条件分组
db.foo.mapReduce( mapFunction , reduceFunction , <optional params> )
db.foo.remove(query) 根据条件删除数据
db.foo.renameCollection( newName ) renames the collection 重命名表
db.foo.save(obj) 保存数据
db.foo.stats() 查看表的状态
db.foo.storageSize() - includes free space allocated to this collection 查询分配到表空间大小
db.foo.totalIndexSize() - size in bytes of all the indexes 查询所有索引的大小
db.foo.totalSize() - storage allocated for all data and indexes 查询表的总大小
db.foo.update(query, object[, upsert_bool]) 根据条件更新数据
db.foo.validate() - SLOW 验证表的详细信息
db.foo.getShardVersion() - only for use with sharding
Mongodb的备份工具mongodump
如果想备份数据库test 如:
[falcon@www.fwphp.cn ~/mongodb/bin]$ ./mongodump --help
options:
--help produce help message
-h [ --host ] arg mongo host to connect to
-d [ --db ] arg database to use
-c [ --collection ] arg collection to use (some commands)
-u [ --username ] arg username
-p [ --password ] arg password
--dbpath arg directly access mongod data files in this path,
instead of connecting to a mongod instance
-v [ --verbose ] be more verbose (include multiple times for more
verbosity e.g. -vvvvv)
-o [ --out ] arg (=dump) output directory
[falcon@www.fwphp.cn ~/mongodb/bin]$ ./mongodump -d test -o test/
connected to: 127.0.0.1
DATABASE: test to test/test
test.user to test/test/user.bson
100000 objects
test.system.indexes to test/test/system.indexes.bson
1 objects
[falcon@www.fwphp.cn ~/mongodb/bin]$ ls
2 mongo mongodump mongofiles mongorestore mongosniff
dump mongod mongoexport mongoimport mongos test
MongoDB的数据恢复工具mongorestore
查看test库中的表
> show collections
system.indexes
User
删除user表
> db.user.drop();
True
> show collections
System.indexes
现在利用mongorestore表恢复刚才利用mongodump备份的数据
[falcon@www.fwphp.cn ~/mongodb/bin]$ ./mongorestore --help
usage: ./mongorestore [options] [directory or filename to restore from]
options:
--help produce help message
-h [ --host ] arg mongo host to connect to
-d [ --db ] arg database to use
-c [ --collection ] arg collection to use (some commands)
-u [ --username ] arg username
-p [ --password ] arg password
--dbpath arg directly access mongod data files in this path,
instead of connecting to a mongod instance
-v [ --verbose ] be more verbose (include multiple times for more
verbosity e.g. -vvvvv)
[falcon@www.fwphp.cn ~/mongodb/bin]$ ./mongorestore -d test -c user test/test/user.bson
connected to: 127.0.0.1
test/test/user.bson
going into namespace [test.user]
100000 objects
User表中的10w条记录已经恢复
CODE:
> show collections
system.indexes
user
> db.user.find();
{ "_id" : ObjectId("4b9c8db08ead0e3347000000"), "uid" : 1, "username" : "Falcon.C-1" }
{ "_id" : ObjectId("4b9c8db08ead0e3347010000"), "uid" : 2, "username" : "Falcon.C-2" }
{ "_id" : ObjectId("4b9c8db08ead0e3347020000"), "uid" : 3, "username" : "Falcon.C-3" }
{ "_id" : ObjectId("4b9c8db08ead0e3347030000"), "uid" : 4, "username" : "Falcon.C-4" }
{ "_id" : ObjectId("4b9c8db08ead0e3347040000"), "uid" : 5, "username" : "Falcon.C-5" }
.................
has more
1. 超级用户相关:
#增加或修改用户密码
db.addUser('admin','pwd')
#查看用户列表
db.system.users.find()
#用户认证
db.auth('admin','pwd')
#删除用户
db.removeUser('mongodb')
#查看所有用户
show users
#查看所有数据库
show dbs
#查看所有的collection
show collections
#查看各collection的状态
db.printCollectionStats()
#查看主从复制状态
db.printReplicationInfo()
#修复数据库
db.repairDatabase()
#设置记录profiling,0=off 1=slow 2=all
db.setProfilingLevel(1)
#查看profiling
show profile
#拷贝数据库
db.copyDatabase('mail_addr','mail_addr_tmp')
#删除collection
db.mail_addr.drop()
#删除当前的数据库
db.dropDatabase()
2. 客户端连接
/usr/local/mongodb/bin/mongo user_addr -u user -p 'pwd'
3. 增删改
#存储嵌套的对象
db.foo.save({'name':'ysz','address':{'city':'beijing','post':100096},'phone':[138,139]})
#存储数组对象
db.user_addr.save({'Uid':'yushunzhi@sohu.com','Al':['test-1@sohu.com','test-2@sohu.com']})
#根据query条件修改,如果不存在则插入,允许修改多条记录
db.foo.update({'yy':5},{'$set':{'xx':2}},upsert=true,multi=true)
#删除yy=5的记录
db.foo.remove({'yy':5})
#删除所有的记录
db.foo.remove()
4. 索引
增加索引:1(ascending),-1(descending)
db.things.ensureIndex({firstname: 1, lastname: 1}, {unique: true});
#索引子对象
db.user_addr.ensureIndex({'Al.Em': 1})
#查看索引信息
db.deliver_status.getIndexes()
db.deliver_status.getIndexKeys()
#根据索引名删除索引
db.user_addr.dropIndex('Al.Em_1')
5. 查询
查找所有
db.foo.find()
#查找一条记录
db.foo.findOne()
#根据条件检索10条记录
db.foo.find({'msg':'Hello 1'}).limit(10)
#sort排序
db.deliver_status.find({'From':'yushunzhi@sohu.com'}).sort({'Dt',-1})
db.deliver_status.find().sort({'Ct':-1}).limit(1)
#count操作
db.user_addr.count()
#distinct操作
db.foo.distinct('msg')
#>操作
db.foo.find({"timestamp": {"$gte" : 2}})
#子对象的查找
db.foo.find({'address.city':'beijing'})
6. 管理
查看collection数据的大小
db.deliver_status.dataSize()
#查看colleciont状态
db.deliver_status.stats()
#查询所有索引的大小
db.deliver_status.totalIndexSize()
分享到:
相关推荐
根据提供的文件信息,“MongoDB命令查询.txt”,我们可以深入探讨与MongoDB相关的命令查询知识点,特别是聚焦于`db.tablename.findOne({})`这条命令的具体用法及其背后的原理。 ### MongoDB简介 MongoDB是一款开源...
### MongoDB 命令详解 #### 一、概述 MongoDB 是一款开源的、通用目的数据库系统,它采用文档数据模型来存储数据,而非传统的关系型数据库所使用的行和列形式。在 MongoDB 中,数据被存储为二进制格式的 JSON 文档...
### MongoDB命令学习手册知识点概述 #### 一、MongoDB简介与启动 - **MongoDB**是一种基于分布式文件存储的开源数据库系统,适用于处理大规模数据集的高性能应用。 - 成功启动MongoDB服务后,可以通过命令行工具`...
前言前面讲解了如何在springboot中集成mongodb,本文将讲解mongodb命令操作及其MongoTemplate的使用。穿插的目的在于不用先去寻找m
### MongoDB 命令介绍与应用 #### 一、概述 MongoDB 是一款非常流行的开源文档型数据库系统,因其灵活性高、易于扩展等特点而被广泛应用于各种场景之中。本文将根据给定的内容介绍 MongoDB 的一些基础及高级命令,...
通常,它会包含启动MongoDB服务的命令,例如使用`mongod.exe`并指定配置文件路径。 2. **启动MongoDB服务**: - `NET START MongoDB.bat`:这是一个Windows批处理命令,用于启动名为MongoDB的服务。`NET START`...
在本文中,我们将深入探讨MongoDB的一些基本命令和概念。 首先,MongoDB中的复制集是一种高可用性的机制,它允许数据在多个节点间同步,确保即使主节点故障,数据也能自动恢复。声明主节点使用`--master`标志,而从...
在日常操作中,掌握一些关键的MongoDB命令是至关重要的。这篇备忘将概述一些常用且重要的MongoDB命令。 1. 数据库操作: - `use <database>`:切换到指定的数据库。 - `db`:查看当前所处的数据库。 - `show dbs...
例如,可以使用以下命令下载 MongoDB 1.6.3 版本: ``` curl -O http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-1.6.3.tgz ``` 这将下载 MongoDB 1.6.3 版本的安装包。 第三步:解压缩文件 下载完成后,...
5. **MongoDB命令帮助**:如果你想知道MongoDB支持哪些命令,可以使用`help`。它会显示一系列基本的数据库和集合操作命令。更具体的,你可以输入`db.help()`来查看当前数据库支持的方法,或者`db.<collection>.help...
包含对数据库、集合、文档的常用操作。
3. **MongoDB命令执行**:Spring Data MongoDB通过`MongoTemplate`提供执行MongoDB命令的功能。`executeCommand`方法接受一个JSON字符串或`DBObject`对象,代表MongoDB命令。例如,执行`distinct`命令来获取集合中...
4. MongoDB命令文件执行: 在Java中,你还可以使用MongoDB Java驱动程序来执行脚本。首先,确保添加了MongoDB Java驱动的依赖。然后,你可以创建一个MongoClient实例并调用`runCommand()`方法: ```java MongoClient...
MongoDB的大多数驱动程序都支持`runCommand`的使用,使得在不同编程语言中执行MongoDB命令变得简单。 接下来,我们来看一些常见的`runCommand`命令: 1. **`buildInfo`**: 这个命令返回MongoDB服务器的版本信息...
4. 添加环境变量:在系统环境变量中添加`MONGO_HOME`指向MongoDB的安装路径,并在`Path`中添加`%MONGO_HOME%\bin`,以便在命令行中直接运行MongoDB命令。 5. 启动MongoDB服务:在命令行中执行`mongod`命令启动服务。...
5. **脚本编辑器**:内置脚本编辑器,支持编写和执行MongoDB命令,方便进行复杂操作。 6. **安全设置**:帮助用户配置MongoDB的权限和认证,确保数据安全性。 7. **性能监控**:实时显示MongoDB服务器的性能指标,...
通过官方手册,你可以了解每个MongoDB命令和操作符的具体用法,包括增删改查操作、聚合框架、地理空间索引等。手册还涵盖了安全主题,如身份验证、授权和网络安全性,确保你的MongoDB部署安全可靠。对于开发者来说,...
- `CommandResult`类用于封装MongoDB命令的执行结果。 - `MongoDatabase`和`MongoCollection`接口提供了执行数据库和集合级别的命令方法,如`runCommand()`。 4. **游标管理**: - 游标(`Cursor`)是遍历查询...