# 介紹
MongoDB 是一個介于關系數據庫和非關系數據庫之間的產品,是非關系數據庫當中功能最豐富,最像關系數據庫的,語法有點類似javascript面向對象的查詢語言,它是一個面向集合的,模式自由的文檔型數據庫
# 安裝
CentOS7系統下YUM安裝安裝Mongodb 3.4
第一步 查看是否存在Mongodb配置yum源
切換到yum目錄 cd /etc/yum.repos.d/
查看文件 ls
第二部 不存在添加yum 源
創建文件 touch mongodb-3.4.repo
編輯該文件 vi mongodb-3.4.repo
內容 :
cat /etc/yum.repos.d/mongodb-3.4.repos
~~~
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc
~~~
這里可以修改 gpgcheck=0, 省去gpg驗證,推薦
安裝之前先更新所有包 :yum update (可選操作)
然后安裝: yum install -y mongodb-org
查看mongo安裝位置 whereis mongod
查看修改配置文件 : vi /etc/mongod.conf
啟動mongod :systemctl start mongod.service
停止mongod :systemctl stop mongod.service
---
PHP7安裝MongoDB拓展
1.下載php7 mongodb拓展包,并將源碼包放到/usr/local/src/目錄下
下載頁面:http://pecl.php.net/package/mongodb
2.進入src/目錄
cd /usr/local/src/
3.解壓拓展包
tar -zxf mongodb-1.3.0.tgz
4.進入mongodb拓展目錄,編譯安裝拓展
復制代碼
cd mongodb-1.3.0/
~~~
phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
~~~
添加mongodb.so擴展配置,保存退出
~~~
extension=mongodb.so
~~~
## 配置
找到bind_ip
修改成下面的方式
net:
port: 27017
bindIp: [127.0.0.1,59.110.143.210] # 注意這個ip 是這個主機的ip
坑:記得格式不是 加空格 也不是加逗號,以數組的方式
一般上面改下就可以了
# 文檔
文檔是mongoDB中數據的基本單元,類似關系數據庫的行,
多個鍵值對有序地放置在一起便是文檔。
MongoDB 中以文檔的方式存取記錄,如一條記錄格式如下:
~~~
{ “username”:”Tom”, “age”:10 ,email:’xiaobai@sohu.com’,’sex’:男,鍵值}
{ "username":"Tom" , "age" : "10" }
{“Username”:”Tom”,”age”:10}
{“Username”:”Tom” }
~~~
注意:
(1)以上是幾個不同的文檔,MongoDB區分大小寫的數據類型,第一個age字段是數字類型,第二個age是字符串類型。
(2)每一個文檔尺寸不能超過16M
# 集合
集合就是一組文檔,多個文檔組成一個集合,集合類似于 mysql里面的表 。
無模式是指,在同一個集合中可以包含不同格式的文檔,如:
~~~
{ "Name" : "Mongodb" , "Type" : "Nosql" }
{ "UserName" : "Tom" , "age" : 20 , "Gender" : "male" }
~~~
以上兩個文檔可以放在同一個集合中。
在Mysql需要先建表再插入數據,
模式自由(schema-free):**意思是集合里面沒有行和列的概念**,
注意:MongoDB中的集合不用創建、沒有結構,所以可以放不同格式的文檔
# 數據庫
多個集合可以組成數據庫。一個mongoDB實例可以承載多個數據庫,他們之間完全獨立。
Mongodb中的數據庫和Mysql中的數據庫概念類似,只是無需創建。
一個數據庫中可以有多個集合。
一個集合中可以有多個文檔。
# 啟動
mongo是客戶端連接程序
mongod是服務端啟動程序
該軟件是一個c/s架構,
語法:mongo ip地址:端口號,如果是默認端口,是本地登陸,則直接輸入mongo即可
語法:
mongod --port 指定的端口 --dbpath 數據庫存儲目錄(全路徑)--logpath 日志文件(全路徑)
- SQL
- 名詞
- mysql
- 初識mysql
- 備份和恢復
- 存儲引擎
- 數據表損壞和修復
- mysql工具
- 數據庫操作
- 增
- 刪
- 改
- 查
- 數據類型
- 整數類型
- 小數類型
- 日期時間類型
- 字符和文本型
- enum類型
- set類型
- 時間類型
- null與not null和null與空值''的區別
- 數據表操作
- 創建
- 索引
- 約束
- 表選項列表
- 表的其他語句
- 視圖
- sql增刪改查
- sql增
- sql刪
- sql改
- sql查
- sql語句練習
- 連接查詢和更新
- 常用sql語句集錦
- 函數
- 字符函數
- 數值運算符
- 比較運算符與函數
- 日期時間函數
- 信息函數
- 聚合函數
- 加密函數
- null函數
- 用戶權限管理
- 用戶管理
- 權限管理
- pdo
- 與pdo相關的幾個類
- 連接數據庫
- 使用
- pdo的錯誤處理
- pdo結果集對象
- pdo結果集對象常用方法
- pdo預處理
- 常用屬性
- mysql編程
- 事務
- 語句塊
- mysql中的變量
- 存儲函數
- 存儲過程
- 觸發器
- mysql優化
- 存儲引擎
- 字段類型
- 三范式和逆范式
- 索引
- 查詢緩存
- limit分頁優化
- 分區
- 介紹
- 分區算法
- list分區
- range范圍
- Hash哈希
- key鍵值
- 分區管理
- 特別注意
- 分表
- 數據碎片與維護
- innodb表壓縮
- 慢查詢
- explain執行計劃
- count和max,groupby優化
- 子查詢優化
- mysql鎖機制
- 介紹
- 演示
- 總結
- 樂觀鎖和悲觀鎖
- 扛得住的mysql
- 實例和故事
- 系統參數優化
- mysql體系結構
- mysql基準測試
- 索引
- mysql的復制
- win配置MySQL主從
- mysql5.7新特性
- 常見問題
- general log
- 忘記密碼
- uodo log與redo log
- 事務隔離級別
- mysql8密碼登錄
- explain
- 高效的Tree表
- on delete cascade 總結
- mongod
- 簡介
- 集合文檔操作語句
- 增刪改查
- 索引
- 數據導入和導出
- 主從復制
- php7操作mongod
- 權限管理
- redis
- redis簡介
- 3.2版本配置文件
- 3.0版本配置文件
- 2.8版本配置文件
- 配置文件總結
- 外網連接
- 持久化
- RDB備份方式保存數據
- AOF備份方式保存數據
- 總結
- win安裝redis和sentinel部署
- 事務
- Sentinel模式配置
- 分布式鎖
- 管道
- php中redis代碼
- 發布訂閱
- slowlog
- Redis4.0
- scan和keys
- elasticsearch
- 配置說明
- 啟動
- kibana
- kibana下載
- kibana配置文件
- kibana常用功能
- 常用術語
- Beats
- Beats簡介
- Filebeat
- Packetbeat
- Logstash
- 配置
- elasticsearch架構
- es1.7
- head和bigdesk插件
- 插件大全
- 倒排索引
- 單模式下API增刪改查
- mget獲取多個文檔
- 批量操作bulk
- 版本控制
- Mapping映射
- 基本查詢
- Filter過濾
- 組合查詢
- es配置文件
- es集群優化和管理
- logstash
- kibana
- es5.2
- 安裝
- 沖突處理
- 數據備份
- 缺陷不足
- 集群管理api
- 分布式事務
- CAP理論
- BASE模型
- 兩階段提交(2PC)
- TCC (Try-Confirm-Cancle)
- 異步確保型
- 最大努力通知型
- 總結