大地系统官网 网站地图| TAG标签| RSS订阅| 加入收藏

mongod常用命令参数大全

mongod常用命令参数大全
更新时间:2024-09-01 11:00 系统大小: 系统类型:软件教程
授权方式: 系统语言: 系统位数:
系统品牌: 系统版本:

安全检测:

推荐星级:

详细介绍

成功启动MongoDB后,再打开一个命令行窗口输入mongo,就能进行数据库的一些操作。输入help可以看到基本操作命令,只不过MongoDB没创建数据库的命令,但有类似的命令

mongod.exe - 数据库的服务器端,等于mysql的 mysqld命令,启动服务器端

mongo.exe - 数据库的推广客户端,等于mysql的mysql命令,打开管理控制台

mongo 是一个交互式的js shell,提供了一个强大的js 环境,为DBA管理MongoDB,developer查看MongoDB数据提供接口。通过mongo shell和MongoDB进行交互,查看和修改MongoDB数据库,管理MongoDB数据库,维护MongoDB的副本集和分片集群,是一个很强大的工具。

成功启动MongoDB后,再打开一个命令行窗口输入mongo,就能进行数据库的一些操作。

输入help可以看到基本操作命令:

show dbs:显示数据库列表

show collections:显示目前数据库中的集合(类似关系数据库中的表)

show users:显示用户

use db name:切换目前数据库,这和MS-SQL里面的意思一样

db.help:显示数据库操作命令,里面有不少的命令

db.foo.help:显示集合操作命令,同样有不少的命令,foo指的是目前数据库下,一个叫foo的集合,并不是真的意义上的命令

db.foo.find:对于目前数据库中的foo集合进行数据查找(因为没条件,会列出所有数据)

db.foo.find:对于目前数据库中的foo集合进行查找,条件是数据中有一个属性叫a,且a的值为1

MongoDB没创建数据库的命令,但有类似的命令。

如:假如你想创建一个myTest的数据库,先运行use myTest命令,之后就做一些操作(如:db.createCollection),如此就能创建一个名叫myTest的数据库。

数据库常用命令

1、Help查询命令提示

help

db.help;

db.yourColl.help;

db.youColl.find.help;

rs.help;

2、切换/创建数据库

use yourDB;当创建一个集合的时候会自动创建目前数据库

3、查看所有数据库

show dbs;

4、删除目前用数据库

db.dropDatabase;

5、从指定主机上克隆数据库

db.cloneDatabase; 将指定机器上的数据库的数据克隆到目前数据库

6、从指定的机器上复制指定数据库数据到某个数据库

db.copyDatabase;将本机的mydb的数据复制到temp数据库中

7、修复目前数据库

db.repairDatabase;

8、查询目前用的数据库

db.getName;

db; db和getName办法是一样的成效,都可以查看目前用的数据库

9、显示目前db状况

db.stats;

10、目前db版本

db.version;

11、查询目前db的链接机器地址

db.getMongo;

Collection聚集集合

1、创建一个聚集集合(table)

db.createCollection;

2、得到指定名字的聚集集合(table)

db.getCollection;

3、得到目前db的所有聚集集合

db.getCollectionNames;

4、显示目前db所有聚集索引的状况

db.printCollectionStats;

用户有关

1、添加一个用户

db.addUser;

db.addUser; 添加用户、设置密码、是不是只读

2、数据库认证、安全模式

db.auth;

3、显示目前所有用户

show users;

4、删除用户

db.removeUser;

其他

1、查看之前的错误信息

db.getPrevError;

2、清除错误记录

db.resetError;

查询聚集集合基本信息

1、查询帮助 db.yourColl.help;

2、查看目前集合的数据条数 db.yourColl.count;

3、查询数据空间大小 db.userInfo.dataSize;

4、得到目前聚集集合所在的db db.userInfo.getDB;

5、得到目前聚集的状况 db.userInfo.stats;

6、得到聚集集合总大小 db.userInfo.totalSize;

7、聚集集合储存空间大小 db.userInfo.storageSize;

8、Shard版本信息 db.userInfo.getShardVersion

9、聚集集合重命名 db.userInfo.renameCollection; 将userInfo重命名为users

10、删除目前聚集集合 db.userInfo.drop;

聚集集合查看

1、查看所有记录

db.userInfo.find;

等于:select* from userInfo;

默认每页显示20条记录,当显示不下的状况下,可以用it迭代命令查看下一页数据。注意:键入it命令不可以带;

但你可以设置每页显示数据的大小,用DBQuery.shellBatchSize= 50;如此每页就显示50条记录了。

2、查看去掉后的目前聚集集合中的某列的重复数据

db.userInfo.distinct;

会过滤掉name中的相同数据

等于:select distict name from userInfo;3、查看age = 22的记录

db.userInfo.find;

等于: select * from userInfo where age = 22;4、查看age 22的记录

db.userInfo.find;

等于:select * from userInfo where age 22;5、查看age 22的记录

db.userInfo.find;

等于:select * from userInfo where age 22;6、查看age = 25的记录

db.userInfo.find;

等于:select * from userInfo where age = 25;7、查看age = 25的记录

db.userInfo.find;

8、查看age = 23 并且 age = 26

db.userInfo.find;9、查看name中包括 mongo的数据

db.userInfo.find;

//等于%%

select * from userInfo where name like %mongo%;

10、查看name中以mongo开头的

db.userInfo.find;

select * from userInfo where name like mongo%;

11、查看指定列name、age数据

db.userInfo.find;

等于:select name, age from userInfo;

当然name也可以用true或false,当用ture的状况下河name:1成效一样,假如用false就是排除name,显示name以外的列信息。12、查看指定列name、age数据, age 25

db.userInfo.find;

等于:select name, age from userInfo where age 25;13、根据年龄排序

升序:db.userInfo.find.sort;

降序:db.userInfo.find.sort;14、查看name = zhangsan, age = 22的数据

db.userInfo.find;

等于:select * from userInfo where name = zhangsan and age = 22;15、查看前5条数据

db.userInfo.find.limit;

等于:selectTOP 5 * from userInfo;16、查看10条未来的数据

db.userInfo.find.skip;

等于:select * from userInfo where id not in ;17、查看在5-10之间的数据

db.userInfo.find.limit.skip;

可用于分页,limit是pageSize,skip是第几页*pageSize18、or与 查看

db.userInfo.find;

等于:select * from userInfo where age = 22 or age = 25;19、查看第一条数据

db.userInfo.findOne;

等于:selectTOP 1 * from userInfo;

db.userInfo.find.limit;

20、查看某个结果集的记录条数

db.userInfo.find.count;

等于:select count from userInfo where age = 20;

21、根据某列进行排序

db.userInfo.find.count;

等于:select count from userInfo;

索引

1、创建索引

db.userInfo.ensureIndex;

db.userInfo.ensureIndex;

2、查看目前聚集集合所有索引

db.userInfo.getIndexes;3、查询总索引记录大小

db.userInfo.totalIndexSize;

4、读取目前集合的所有index信息

db.users.reIndex;5、删除指定索引

db.users.dropIndex;

6、删除所有索引索引

db.users.dropIndexes;

修改、添加、删除集合数据

1、添加

db.users.save;

添加的数据的数据列,没固定,依据添加的数据为准2、修改

db.users.update;

等于:update users set name = changeName where age = 25;db.users.update;

等于:update users set age = age + 50 where name = Lisi;

db.users.update;

等于:update users set age = age + 50, name = hoho where name = Lisi;3、删除

db.users.remove;

4、查看修改删除

db.users.findAndModify;db.runCommand;

语句块操作

1、简单Hello World

print;

这种写法调用了print函数,和直接写入Hello World!的成效是一样的;2、将一个对象转换成json

tojson);

tojson);3、循环添加数据

for {

... db.users.save;

... };

如此就循环添加了30条数据,同样也可以省略括号的写法

for db.users.save;

也是可以的,当你用db.users.find查看的时候,显示多条数据而没办法一页显示的状况下,可以用it查询下一页的信息;4、find 游标查看

var cursor = db.users.find;

while ) {

printjson);

}

如此就查看所有些users信息,同样可以如此写

var cursor = db.users.find;

while ) { printjson; }

同样可以省略{}号5、forEach迭代循环

db.users.find.forEach;

forEach中需要传递一个函数来处置每条迭代的数据信息6、将find游标当数组处置

var cursor = db.users.find;

cursor[4];

获得下标索引为4的那条数据

既然可以当做数组处置,那样就能获得它的长度:cursor.length;或者cursor.count;

那样大家也可以用循环显示数据

for ; i len; i++) printjson;7、将find游标转换成数组

var arr = db.users.find.toArray;

printjson;

用toArray办法将它转换为数组

8、定制大家我们的查看结果

只显示age = 28的并且只显示age这列数据

db.users.find.forEach;

db.users.find.forEach;

排除age的列

db.users.find.forEach;9、forEach传递函数显示信息

db.things.find.forEach {print);});

用mongod 启动数据库进程,参数讲解如下:

--dbpath 指定数据库的目录

--port 指定数据库的端口,默认是27017

--bind_ip 绑定IP

--directoryperdb为每一个db创建一个独立子目录

--logpath指定日志存放目录

--logappend指定日志生成方法

--pidfilepath 指定进程文件路径,假如不指定,那样将不产生进程

--keyFile 集群模式的重点标识

--cpu 周期性的显示CPU和IO的借助率

--journal 启用日志

--ipv6 启用IPV6支持

--nssize 指定.ns文件的大小,单位MB,默认是16M,最大是2GB

--maxConns最大的并发连接数

--notablescan 不允许进行表扫描

--quota 限制每一个数据库的文件个数,默认是8个

--quotaFiles 每一个数据库的文件个数,配合quota参数

--noprealloc 关闭数据文件的预分配功能

mongod 命令常用参数

1,常用参数

mongod 是MongoDB系统的主要守护进程,用于处置数据请求,数据访问和实行后台管理操作,需要启动,才能访问MongoDB数据库。

在启动mongod时,常见的参数是:

--dbpath db_path:存储MongoDB数据文件的目录

--directoryperdb:指定每一个数据库单独存储在一个目录中(directory),该目录坐落于--dbpath指定的目录下,每个子目录都对应一个数据库名字。Uses a separate directory to store data for each database. The directories are under the --dbpath directory, and each subdirectory name corresponds to the database name.

--logpath log_path:指定mongod记录日志的文件

--fork:将来台deamon形式运行服务

--journal:开始日志功能,通过保存操作日志来减少单机问题的恢复时间

--config(或-f)config_file_path:配置文件,用于指定runtime options

--bind_ip ip address:指定对外服务的绑定IP地址

--port port:对外服务窗口

--auth:启用验证,验证用户权限控制

--syncdelayvalue:系统刷新disk的时间,单位是second,默认是60s

--replSet setname:以副本集方法启动mongod,副本集的标识是setname

2.1 以命令方法启动,默认的dbpath是 C:\data\db

mongod --dbpath=C:\data\db

2.2 以配置文档的方法启动

将mongod的命令参数写入配置文档,以参数-f 启动

mongod -f C:\data\db\mongodb_config.config

2.3 以daemon方法启动

当启动MongoDB的进程关闭后,MongoDB随之关闭,仅需用--fork参数,就能使MongoDB将来台守护进程方法启动。

mongod -fork

3,查询mongod的启动参数

db.serverCmdLineOpts

在启动mongo shell时,常见的参数是:

--nodb:阻止mongo在启动时连接到数据库实例;

--port port:指定mongo连接到mongod监听的TCP端口,默认的端口值是27017;

--host hostname:指定mongod运行的server,假如没指定该参数,那样mongo尝试连接运行在当地(localhost)的mongod实例;

db address:指定mongo连接的数据库

--username/-u username 和--password/-p password:指定访问MongoDB数据库的账户和密码,只有当认证通过后,用户才能访问数据库;

--authenticationDatabase dbname:指定创建User的数据库,在什么数据库中创建User时,该数据库就是User的Authentication Database;

下载地址