### 安装在Ubuntu16.04:
```bash
# 创建数据库文件夹,这个是默认存放数据的地方,但MongoDB不会自动创建
mkdir -p /data/db
# 增加权限
chown -R $USER:$USER /data/db
wget -qO - https://www.mongodb.org/static/pgp/server-4.0.asc | sudo apt-key add - # 导入公钥
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list # 为MongoDB创建列表文件
sudo apt-get update # 重新加载本地数据包
sudo apt-get install -y mongodb-org=4.0.12 mongodb-org-server=4.0.12 mongodb-org-shell=4.0.12 mongodb-org-mongos=4.0.12 mongodb-org-tools=4.0.12 # 安装软件包
echo "mongodb-org hold" | sudo dpkg --set-selections
echo "mongodb-org-server hold" | sudo dpkg --set-selections
echo "mongodb-org-shell hold" | sudo dpkg --set-selections
echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
echo "mongodb-org-tools hold" | sudo dpkg --set-selections # 保持目前的版本,防止自动更新
# 启动
sudo service mongodb start #或者
systemctl start mongodb
```
### 卸载
```bash
sudo apt-get purge mongodb-org*
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb
```
### 通过systemctl start mongodb 启动时的错误解决
报错如下:
Failed to start mongodb.service: Unit mongodb.service not found.
解决:
```bash
sudo nano /etc/systemd/system/mongdb.service # 创建服务文件
```
```bash
[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf
# 制定需要执行的命令的位置, # 制定项目运行所需要的配置文件位置
[Install]
WantedBy=multi-user.target
```
- 按ctrl + x 保存退出
- systemctl start mongodb
- 永久有效: systemctl enable mongodb
### 1、文档中值的数据类型
在mongodb中数据是以文档的形式存在的
1、每个文档相当于一条记录
2、多个文档组合在一起,就是集合,一个集合就相当于一张数据表
3、多个集合组合在一起,就是数据库,每个数据库就是一个文件夹
- Object ID: ⽂档ID
- String: 字符串, 最常⽤, 必须是有效的UTF-8
- Boolean: 存储⼀个布尔值, true或false
- Integer: 整数可以是32位或64位, 这取决于服务器
- Double: 存储浮点值
- Arrays: 数组或列表, 多个值存储到⼀个键
- Object: ⽤于嵌⼊式的⽂档, 即⼀个值为⼀个⽂档
- Null: 存储Null值
- Timestamp: 时间戳, 表示从1970-1-1到现在的总秒数
- Date: 存储当前⽇期或时间的UNIX时间格式
### 2、Mongo shell
- 使用mongo命令自动启动shell,并连接数据库服务器,该shell能够解析JavaScript的语法
- 通过shell可以完成一些列的增删改查工作
### 3、文档的基本增删改查
- 增加:使用insert()函数,将要插入的数据放到集合中
- 比如增加一个文档,首先先创建文档变量
post = {"title": "my first mongo"}
- 插入文档到blog集合中
db.blog.insert(post)
- 批量插入:同样适用inset方法,将你需要插入的文档全部存放到一个数组中
- 当我们连接到服务器之后,**db**会自动指向正在使用的数据库,blog为集合名,没有会自动创建
- 查找:使用find()或者findOne()
- find()默认显示20条数据
db.blog.find()
- findOne()只显示一条数据
db.blog.findOne()
- 更新:使用**update()**方法, 该方法接收两个参数,第一个为需要修改的文档,第二个修改过的文档
**update()方法除了接收前两个参数外,还可以接收另外两个参数,并且这两个参数都是布尔值**
**例如:db.blog.update({"title": "My Blog Post"}, {"title": "My Blog Get"}, true, true)**
**第三个参数表示upsert,能够保证操作的原子性,同时在没有查询到制定的集合情况下,会以查询条件和更新文档为基础新建一个文档,第四个参数默认是true,表示更新所有符合条件的集合,若改为false,则只更新第一个。**
mongodb数据库操作
最新推荐文章于 2023-11-06 15:55:15 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)