下载和安装
-
下载
官网下载地址
选择自己的操作系统和数据库版本,点击下载即可。
-
安装
解压:
更改文件夹名:
mv mongodb-linux-x86_64-ubuntu1404-3.6.0.tgz/ mongodb-3.6.0
- 配置
自己创建配置文件mongo.config:
创建数据库文件夹和数据库日志文件夹:
mkdir -p /data/db /data/log/
- 启动
创建一个启动脚本:
赋予执行权限:chmod u+x startup.sh
执行startup.sh即可
当然也可以直接执行命令而不需要创建启动文件:
./mongd --config ../mongo.config
用户授权和管理
第一次进入mongodb不需要用户名和密码,直接执行启动文件或者mongod即可。
- 创建超级权限用户
> use admin
switched to db admin
> db.createUser({user:'root',pwd:'root',roles:[{ "role" : "root", "db" : "admin" }]});
Successfully added user: {
"user" : "root",
"roles" : [
{
"role" : "root",
"db" : "admin"
}
]
}
重启mongodb
> use admin
switched to db admin
> db.auth("root","root")
1
> db.shutdownServer()
server should be down...
- 创建用户并授权
> use test
switched to db test
> db.createUser({user:"user1",pwd:"user1",roles:[{role:"readWrite",db:"test"}]})
Successfully added user: {
"user" : "user1",
"roles" : [
{
"role" : "readWrite",
"db" : "test"
}
]
}
- 修改密码
> use test
switched to db test
> db.changeUserPassword("user1","testpwd")
- 添加角色
> use test
switched to db test
> db.grantRolesToUser("user1",[{role:"read",db:"test"}])
- 回收角色权限
> use test
switched to db test
> db.revokeRolesFromUser("user1",[{role:"read",db:"tst"}])
- 删除用户
> use test
switched to db test
> db.dropUser("user1")
true
增删改查
- 创建集合
> db.createCollection("food")
{ "ok" : 1 }
> show collections
food
也可以不用手动创建集合,插入数据的时候会自动创建。
- 插入数据
> db.food.insert({name:"白菜",price:99})
WriteResult({ "nInserted" : 1 })
> db.food.insert({name:"萝卜",price:88})
WriteResult({ "nInserted" : 1 })
> db.food.insert({name:"辣椒",price:77})
WriteResult({ "nInserted" : 1 })
- 删除数据
>
> db.food.remove({price:11})
WriteResult({ "nRemoved" : 0 })
- 修改数据
文档替换:
> var f={name:"白菜1000",price:1000}
> db.food.update({name:"白菜"},f)
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.food.find()
{ "_id" : ObjectId("5a35481aa39c8b1818ecb609"), "name" : "萝卜", "price" : 88 }
{ "_id" : ObjectId("5a35482ea39c8b1818ecb60a"), "name" : "辣椒", "price" : 77 }
{ "_id" : ObjectId("5a3552a3a39c8b1818ecb60b"), "name" : "白菜1000", "price" : 1000 }
- 查询数据
(待更新)