Table of Contents
2.5 將mongodb設置爲系統服務,自動在後臺啓動,不需要手動啓動
0. 學習資料
教程:http://www.runoob.com/mongodb/mongodb-tutorial.html
視頻教程:https://www.bilibili.com/video/av47425352?from=search&seid=15261718310651163939 5h
教程:https://mongoosejs.com/docs/api.html#query_Query-find
https://docs.mongodb.com/manual/tutorial/update-documents/
1. 安裝MongoDB和可視化工具
1.1 安裝MongoDB
- cd /usr/local #進入目錄
- sudo curl -0 https://fastdl.mongodb.org/osx/mongodb-osx-ssl-x86_64-4.0.9.tgz #下載
- sudo tar -zxvf mongodb-osx-ssl-x86_64-4.0.9.tgz
1.2 安裝MongoDB可視化工具
- adminmongo: https://blog.csdn.net/zssapple/article/details/82869648
- NoSQL Manager
- Studio 3T
2. 數據庫簡介
2.1 數據庫分類
- 關係型數據庫 - RDBMS:MySQL,Oracle,DB2,SQL server
- 非關係型數據庫 - NoSQL:(Not only sql) MongoDB,Redis
- 鍵值對數據庫 Redis
- 文檔數據庫 MongoDB
2.2 mongodb簡介
- MongoDB是爲快速開發互聯網web而設計的數據庫系統
- 設計目標:簡單、靈活、作爲web應用棧的一部分
- MongoDB是面向文檔的,所謂文檔是一種類似於JSON的結構,簡單理解MongoDB這個數據庫中存的是各種各樣的JSOn (BSON)。
2.3 MongoDB三個概念
- 數據庫Database: 數據庫是一個倉庫,在倉庫中可以存放集合
- 集合collection:集合類似於數組,在集合中可以存放文檔
- 文檔document:文檔數據庫中的最小單位,我們存儲和操作的內容都是文檔
在MongoDB中,集合和數據庫不需要我們自己創建,MongoDB會自動幫我們創建。
2.4 安裝MongoDB:
- 下載:偶數版本爲穩定版,技術版本爲開發版
- 配置環境變量:
- 啓動:
- 命令行打開
- >>mongo 連接mongo DB
- >> mongod 啓動mongoDB服務
- >>mongod --dbpath mypath 啓動數據庫,把指定路徑作爲mongodb存儲路徑
- --port 指定端口
- 命令行打開
- 數據庫
- 數據庫服務器 --服務器保存數據
- 命令:mongod
- 數據庫客戶端 --操作服務器,對數據進行增刪改查
- 命令:mongo
- 數據庫服務器 --服務器保存數據
2.5 將mongodb設置爲系統服務,自動在後臺啓動,不需要手動啓動
- MacOS: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/
- Run in foreground: mongod --config /usr/local/etc/mongod.conf
- Run as a macOS service: brew services start [email protected]
2.6 MongoDB基本指令
- show dbs - 顯示所有的數據庫
- use mydb - 進入指定數據庫
- show dbs - 顯示所有的數據庫
- db - 顯示當前數據庫
- show collections- 顯示當前數據庫有哪些集合
2.7 MongoDB數據庫的CRUD操作
- 向數據庫中插入文檔: db.<collection>.insert(<doc>)
- 例如向test數據庫中,stus集合中插入一個新的學生對象
- db.stus.insert({"name":"Emma","age":"18"})
- 查詢當前集合中的所有文檔:db.<collection>.find()
3. Mongoose簡介
Mongoose是一個對象文檔模型(ODM)庫,它對Node原生的MongoDB模塊進行了進一步的封裝和優化,並提供了很多的功能。 在大多數情況下,它被用來把結構化的模式應用到一個MongoDB集合,並提供了驗證和類型轉換的好處。
- 好處:
- 可以爲文檔創建一個模式結構 Schema
- 可以對模型中的對象/文檔進行驗證
- 數據可以通過類型轉換轉換爲對象類型
- 可以使用中間件來應用業務邏輯掛鉤
- 新的對象
- Schema(模式對象):Schema對象定義約束了數據庫中的文檔結構
- Model:Model對象作爲集合中的所有文檔的表示,相當於MongoDB數據庫中的集合collection
- Document:Document表示集合中的具體文檔,相當於集合中的一個具體文檔