- 发布于
MongoDB命令整理
- Authors
- Name
- 田中原
MongoDB命令整理
目录
启动mongoDB
运行 MongoDB
1、首先我们创建一个数据库存储目录 /data/db:
sudo mkdir -p /data/db
启动 mongodb,默认数据库目录即为 /data/db:
sudo mongod #启动mongo
#参数
--dbpath [数据存放path] #指定数据库path
-auth #开启授权启动
--logpath [数据存放path] #指定日志路径
--port [端口号]
开启一个新的终端进入MongoDB shell
mongo
MongoDB配置
- 端口
- 默认端口 27017
- Mongo shell 获取端口
db.getMongo()
数据库操作
连接数据库
mongo://[host:port/database] -u [user] -p [password] 192.168.1.200:27017/test -u user -p password
数据库常用命令
use DATABASE_NAME # 创建数据库,如果数据库不存在,则创建数据库,否则切换到指定数据库。
db.getName() # 查看当前数据库
show dbs # 查看所有数据库
db.dropDatabase() # 删除数据库
db.cloneDatabase("127.0.0.1") #将指定机器上的数据库的数据克隆到当前数据库
db.copyDatabase("mydb", "temp", "127.0.0.1") #将本机的mydb的数据复制到temp数据库中
db.repairDatabase() #修复当前数据库
db.getName() #查看当前使用的数据库,也可以直接用db
db.stats() #显示当前db状态
db.version() #当前db版本
db.getMongo() #查看当前db的链接机器地址
db.serverStatus() #查看数据库服务器的状态CRUD
用户管理
查看用户
db.system.find() # 查看用户
#添加用户:
db.createUser({
user: "<name>", //用户名
pwd: "<cleartext password>",
customData: { <any information> }, //可选的,备注信息。
roles: [
{ role: "<role>", db: "<database>" } | "<role>", //指定角色
...
]},
writeConcern: { <write concern> }
)
#更改用户信息:将会覆盖掉原先的用户信息
root(
"<username>",
{
customData : { <any information> },
roles : [
{ role: "<role>", db: "<database>" } | "<role>",
...
],
pwd: "<cleartext password>"
},
writeConcern: { <write concern> }
)
# 删除用户:
db.dropUser('test') #必须在该用户创建的库中删除
数据操作CRUD
Create 插入数据
db.collection.insert() # 插入数据
db.collection.save() # 不传Id会插入一条新的数据,传id此操作变为更新数据
db.collection.insertOne() # 向指定集合中插入一条文档数据
db.collection.insertMany() # 向指定集合中插入多条文档数据,传入数组
Retrieve读取数据
db.collection.find(query, projection)
db.col.find().pretty() # pretty
Update更新数据
db.collection.update( # 更新已存在的文档
<query>, # update的查询条件
<update>, # update的对象和一些更新的操作符(如$,$inc...)等
{
upsert: <boolean>, # 可选,如果不存在update的记录,是否插入一条新的,默认是false,不插入。
multi: <boolean>, # 可选,默认是false,只更新找到的第一条记录,否则更新全部
writeConcern: <document> # 可选,抛出异常的级别。
}
)
db.collection.save( # 通过传入的文档来替换已有文档
<document>,
{
writeConcern: <document>
}
)
# 只更新第一条记录:
db.col.update( { "count" : { $gt : 1 } } , { $set : { "test2" : "OK"} } );
# 全部更新:
db.col.update( { "count" : { $gt : 3 } } , { $set : { "test2" : "OK"} },false,true );
# 只添加第一条:
db.col.update( { "count" : { $gt : 4 } } , { $set : { "test5" : "OK"} },true,false );
# 全部添加加进去:
db.col.update( { "count" : { $gt : 5 } } , { $set : { "test5" : "OK"} },true,true );
# 全部更新:
db.col.update( { "count" : { $gt : 15 } } , { $inc : { "count" : 1} },false,true );
# 只更新第一条记录:
db.col.update( { "count" : { $gt : 10 } } , { $inc : { "count" : 1} },false,false );
Delete删除数据
# 移除集合中的数据。
db.collection.remove(
<query>,
{
justOne: <boolean>,
writeConcern: <document>
}
)
数据表操作
show collections
db.collections.help();