MongoDB入门

MongoDB的安装

  • MongoDB官网下载地址 下载安装包并解压到mongo/

  • 创建mongo/db目录和/mongo/log/mongodb.log文件

  • 创建配置文件mongo/mongodb.conf

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    # 数据文件存放目录
    dbpath=/Users/youyou-2608/Downloads/mongodb/db
    # 日志文件存放目录
    logpath=/Users/youyou-2608/Downloads/mongodb/log/mongodb.log
    # 以追加的方式记录日志
    logappend=true
    # 默认端口27017
    port=27017
    # 对访问ip地址不做限制,默认为本地地址
    bind_ip=0.0.0.0
    # 以守护进程的方式启用,即在后台运行
    fork=true
    # 默认开启身份认证
    auth=true

配置环境变量及服务的启动和停止

~/.bash_profile文件中:

1
export PATH = mongo/bin:$PATH

执行 sourcce ~/.bash_profile

启动及停止:

1
2
3
4
5
6
7
8
# 启动
mongod -f mongo/mongodb.conf

# 停止
kill 9 -pid

use amdin;
db.shutdownServer();

关闭MongoDB报错:

Error: shutdownServer failed: {

​ “ok” : 0,

​ “errmsg” : “not authorized on admin to execute command { shutdown: 1.0, lsid: { id: UUID("4d11f7c3-3b79-458d-b857-2aac4816cd17") }, $db: "admin" }”,

​ “code” : 13,

​ “codeName” : “Unauthorized”

}

因为没有 hostManager 权限所以报错:

1
2
3
4
5
use admin;
db.grantRolesToUser("uadd", [{role: "hostManager", db: "admin"}]);

# 授权后再执行
db.shutdownServer()

登录认证

登录及创建用户:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
> use admin;
> db.auth("uadd", "uadd")

use admin;
# 创建管理员用户
db.createUser(
{
"user": "testuser",
"pwd": "123456",
"roles": [
{
"role": "userAdminAnyDatabase",
"db": "admin"
}
]
}
)

# 创建普通用户
use test;
db.createUser(
{
"user": "testuser",
"pwd": "123456",
"roles": [
{
"role": "readWrite",
"db": "test"
}
]
}
)

增删改查及常用命令

1
2
3
4
5
6
7
8
9
10
11
use database;
show dbs;
show users;

db.user.insert({"name": "zhangsan"});
db.user.insertMany([]);
db.user.deleteOne({"name": "zhangsan"})
db.user.deleteMany("_id": {"$gte": 3})
db.user.find("age": {"$gte": 3, "$lte": 20})

db.user.drop();
文章作者: iced-cola
文章链接: https://iced-cola.com/2021/03/16/MongoDB入门/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 iced-cola