MongoDB之安装和基本使用(一)

环境

  • ubuntu16.04

mongodb基本特点

MongoDB 是一个基于分布式 文件存储的NoSQL数据库;可以把MongoDB想象成一个大py字典。

  • 模式自由 :可以把不同结构的文档存储在同一个数据库里
  • 面向集合的存储:适合存储 JSON风格文件的形式
  • 高效的传统存储方式:支持二进制数据及大型对象(如照片或图片)

安装

apt安装

sudo apt update
sudo apt install mongodb
  • 安装完毕后mongod已经自动启动了。

  • apt安装会自动创建相关的配置文件

/etc/mongod.conf # mongodb的启动配置文件
/var/log/mongodb/mongod.log # 日志文件
/var/lib/mongodb # 数据文件目录

安装后会自动启动,自动设置了开机自启动。

源码安装

sudo apt-get install libcurl3 openssl
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1604-4.0.0.tgz # 后面可以写不同的版本

# 解压
tar -zxvf mongodb-linux-x86_64-ubuntu1604-4.0.0.tgz
# 移动
mv mongodb-linux-x86_64-ubuntu1604-4.0.0.tgz /usr/local/mongodb
# 添加到环境变量
vi ~/.bashrc

export PATH=/usr/local/mongodb/bin:$PATH
  • 源码安装需要自己去创建相关的配置文件。

卸载

# 移除所有相关的安装文件
sudo apt-get purge mongodb-org*
# 移除数据文件和日志文件
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb

基本命令

# 默认监听端口port 27017

# 启动
sudo service mongodb start 
# 停止
sudo service mongodb stop
# 重启
sudo service mongodb restart

# 客户端连接
mongo --host 127.0.0.1:27017

# 退出
exit
  • 如果使用service命令报错:
Failed to stop mongodb.service: Unit mongodb.service not loaded.

需要手动添加mongodb.service

vi /etc/systemd/system/mongodb.service

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
 
[Service]
Type=forking
User=mongodb
Group=mongodb
RuntimeDirectory=mongod
PIDFile=/var/run/mongodb/mongodb.pid
ExecStart=/usr/bin/mongod -f /etc/mongodb.conf --pidfilepath /var/run/mongodb/mongodb.pid --fork
TimeoutStopSec=5
KillMode=mixed
 
[Install]
WantedBy=multi-user.target

基本数据库操作

# 基本命令
db # 查看当前的数据库,默认当前数据库为test
show dbs # 查看所有的数据库
use xxx # 切换数据库,如果不存在也进入,但只有在插入了数据后才会真正地创建
db.dropDatabase() # 删除当前指向的数据库

# 创建集合
db.createCollection(name, options) # 相当于mysql的表,创建集合
name:集合的名字
options:配置参数,一个json格式文档,如:{ capped : true, size : 10 },限制集合大小

# 查看集合
show collections
# 删除集合
db.xxx(集合name).drop()

# 插入,这个创建的集合插入许多的小的json文档,类似py的字典,每个字典有一个_id,如果不指定或自动分配。
db.xxx(集合name).insert({_id:xxx,name:"xxx"})

# 查询
db.xxx(集合name).find() # 会显示集合所有文档

# 更新
db.xxx(集合name).update(
   <query>, # 查询条件,类似sql语句update中where部分
   <update>, # 根据查询更新字段
   {multi: <boolean>} # 默认是false,表示只更新找到的第一条记录,值为true表示把满足条件的文档全部更新
)

# 保存,如果该_id存在则相当于update,如果不存在相当于insert
db.xxx(集合name).save({_id:xxx,name:"xxx"}) 

# 删除
db.xxx(集合name).remove(
   <query>, # 查询条件
   {
     justOne: <boolean> # 如果设为true或1,则只删除一条,默认false,表示删除多条
   }
)

数据的类型

  • MongoDB和mysql一样有数据类型
Object ID:专门用于文档ID,是自动的,如果手动加文档ID,则为string类型。
String:字符串,最常用,必须是有效的UTF-8
Boolean:存储一个布尔值,true或false
Integer:整数可以是32位或64位
Double:存储浮点值
Arrays:数组或列表,多个值存储到一个键,如:{"color" : [ "red", "black" ]}
Object:用于嵌入式的文档,即一个值为一个文档,如一个图片二进制流,一篇文章
Null:存储Null值
Timestamp:时间戳
Date:存储当前日期或时间的UNIX时间格式

猜你喜欢

转载自www.cnblogs.com/cwp-bg/p/9377896.html