无忧支付网首页
相关推荐
您当前的位置:主页 > 每日热点

mongo基本命令(mongod 命令)

发布人:hao333   添加时间:2023-07-16 07:52:40

成功启动mongoDB后,打开命令行窗口,进入Mongo,然后就可以对数据库进行一些操作了。进入help可以看到基本的操作命令,只是MongoDB没有创建数据库的命令,但是它有一个类似的命令。

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

mongo . exe——数据库的客户端,相当于mysql的mysql命令,打开管理控制台。

Mongo是一个交互式的js shell,它提供了一个强大的js环境,并提供了一个供DBA管理MongoDB和开发者查询MongoDB数据的接口。

通过mongo shell和MongoDB的交互,查询和修改MongoDB数据库,管理MongoDB数据库,维护MongoDB的副本集和碎片簇,是一个非常强大的工具。

成功启动mongoDB后,打开命令行窗口,进入Mongo,然后就可以对数据库进行一些操作了。

进入help查看基本操作命令:

show DBS:show database list show collections:显示当前数据库中的集合(类似于关系数据库中的表)show users:显示用户。

使用db name:切换当前数据库,这与MS-SQL中的意思相同。db.help():显示数据库操作命令,里面有很多命令。db.foo.help():显示集合操作命令,命令也很多。

Foo指的是当前数据库中一个名为foo的集合,不是真正的命令db.foo.find():对当前数据库中的foo集合进行数据搜索(因为没有条件,

会列出所有数据)db.foo.find( {a: 1}):搜索当前数据库中的foo集合,前提是数据中有一个名为A的属性,A的值为1。

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

例如,如果您想要创建一个“myTest”数据库,首先运行use myTest命令。

然后做一些操作(比如db.createCollection('user ')),这样就可以创建一个名为“myTest”的数据库。

数据库常用命令

1.帮助查看命令提示符

help

db.help();

db.yourColl.help();

db.youColl.find().help();

rs.help();

2.切换/创建数据库

使用yourDB创建表时,会自动创建当前数据库。

3.查询所有数据库

show dbs;

4.删除当前使用的数据库。

db.dropDatabase();

5.从指定的主机克隆数据库。

db . clone database(" 127 . 0 . 0 . 1 ");将指定机器上数据库的数据克隆到当前数据库。

6.将指定的数据库数据从指定的计算机复制到数据库。

db.copyDatabase('mydb '' temp '' 127 . 0 . 0 . 1 ');将本机的mydb数据复制到临时数据库。

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(“collName”, {size: 20, capped: 5, max: 100});

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

db.getCollection('account');

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

db.getCollectionNames();

4、显示当前db所有聚集索引的状态

db.printCollectionStats();

用户相关

1、添加一个用户

db.addUser('name');

db.addUser('userName', 'pwd123', true); 添加用户、设置密码、是否只读

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

db.auth('userName', '123123');

3、显示当前所有用户

show users;

4、删除用户

db.removeUser('userName');

其他

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('users'); 将userInfo重命名为users10、删除当前聚集集合db.userInfo.drop();

聚集集合查询

2、查询去掉后的当前聚集集合中的某列的重复数据db.userInfo.distinct('name');会过滤掉name中的相同数据相当于:select distict name from userInfo;3、查询age=22的记录db.userInfo.find({'age': 22});相当于: select * from userInfo where age=22;4、查询age 22的记录db.userInfo.find({age: {$gt: 22}});相当于:select * from userInfo where age 22;5、查询age 22的记录db.userInfo.find({age: {$lt: 22}});相当于:select * from userInfo where age 22;6、查询age=25的记录db.userInfo.find({age: {$gte: 25}});相当于:select * from userInfo where age=25;7、查询age=25的记录db.userInfo.find({age: {$lte: 25}});8、查询age=23 并且age=26db.userInfo.find({age: {$gte: 23, $lte: 26}});9、查询name中包含mongo的数据db.userInfo.find({name: /mongo/});//相当于%%select * from userInfo where name like ‘%mongo%’;10、查询name中以mongo开头的db.userInfo.find({name: /^mongo/});select * from userInfo where name like ‘mongo%’;11、查询指定列name、age数据db.userInfo.find({}, {name: 1, age: 1});相当于:select name, age from userInfo;当然name也可以用true或false,当用ture的情况下河name:1效果一样,

索引

1、创建索引db.userInfo.ensureIndex({name: 1});db.userInfo.ensureIndex({name: 1, ts: -1});2、查询当前聚集集合所有索引db.userInfo.getIndexes();3、查看总索引记录大小db.userInfo.totalIndexSize();4、读取当前集合的所有index信息db.users.reIndex();5、删除指定索引db.users.dropIndex('name_1');6、删除所有索引索引db.users.dropIndexes();

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

根据添加的数据为准2、修改db.users.update({age: 25}, {$set: {name: 'changeName'}}, false, true);相当于:update users set name=‘changeName’ where age=25;db.users.update({name: 'Lisi'}, {$inc: {age: 50}}, false, true);相当于:update users set age=age + 50 where name=‘Lisi’;db.users.update({name: 'Lisi'}, {$inc: {age: 50}, $set: {name: 'hoho'}}, false, true);相当于:update users set age=age + 50, name=‘hoho’ where name=‘Lisi’;3、删除db.users.remove({age: 132});4、查询修改删除db.users.findAndModify({ query: {age: {$gte: 25}}, sort: {age: -1}, update: {$set: {name: 'a2'}, $inc: {age: 2}}, remove: true});db.runCommand({ findandmodify : 'users', query: {age: {$gte: 25}}, sort: {age: -1}, update: {$set: {name: 'a2'}, $inc: {age: 2}}, remove: true});

语句块操作

和直接写入'Hello World!'的效果是一样的;2、将一个对象转换成jsontojson(new Object());tojson(new Object('a'));3、循环添加数据for (var i=0; i 30; i++) {. db.users.save({name: 'u_' + i, age: 22 + i, sex: i % 2}); };这样就循环添加了30条数据,

用mongod 启动数据库进程,参数解释如下:--dbpath 指定数据库的目录--port 指定数据库的端口,默认是27017--bind_ip 绑定IP--directoryperdb为每个db创建一个独立子目录--logpath指定日志存放目录--logappend指定日志生成方式(追加/覆盖)--pidfilepath 指定进程文件路径,

mongod 命令常用参数

1,常用参数

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

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

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

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;