对比 mysql
mongo shell 说明
在尝试启动 mongo shell前请确保MongoDB实例正在运行。开始使用 mongo shell连接到你运行在**localhost默认端口号**的MongoDB实例。
如果你不带任何参数运行 mongo , mongo shell将尝试连接运行在``localhost``上端口号为``27017``的MongoDB实例。要指定不同的主机或端口号,以及其他选项,请参看 examples of starting up mongo 与 mongo reference 提供的可用选项的详细内容。
使用数据库
show dbs 显示所有可用的数据库
db 显示正在使用的数据库
use <db> 默认返回 “test“
创建一个集合
use myNewDatabase
db.myCollection.insert( { x: 1 } );
使用集合
db["myCollection"].find()
db.getCollection("myCollection").find()
打印语句
print() 无格式打印
db.myCollection.find().pretty() 格式化打印
print(tojson(<obj>)) 用 JSON 格式打印,等效于 printjson()
printjson() 用 JSON 格式打印,等效于 print(tojson(<obj>))
CURD
设置用户密码
mongo
use mydb
db.createUser(
{
user: "root",
pwd: "root",
roles: [ { role: "dbAdmin", db: "mydb" } ]
}
)
内建角色(role)
- Read:允许用户读取指定数据库
- readWrite:允许用户读写指定数据库
- dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
- userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
- clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
- readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
- readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
- userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
- dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
- root:只在admin数据库中可用。超级账号,超级权限
数据库 url 连接
mongodb://user:password@host:27017/foo