# MongoDB ###### tags: `MongoDB`  ## Features   ## installation [community server](https://www.mongodb.com/try/download/community) ### 設定DB路徑 到安裝MongoDB的硬碟中新增一個data資料夾,裡面在新增一個db資料夾,以後mongodb的資料就會放在這 ### 啟動DB 直接下載MSI檔安裝 安裝完後設定環境變數   將path點開  之後到安裝mongoDB的路徑 EX: C:\Program Files\MongoDB\Server\4.4\bin 將這個路徑新增到path裡面 之後就能在cmd下打mongod直接啟動mongodb資料庫了 ### 連接DB 資料庫啟動後開啟mongo就能接到連接資料庫了 (設定過環境變數後也一樣能直接在cmd用mongo開) ### 建立資料庫 (C) [mongoDB指令](https://docs.mongodb.com/manual/reference/command/) 連接到DB後用use 資料庫名 指令可以轉換到該名稱的資料庫,如果不存在就會創一個在轉過去  這樣就會創一個natours-test資料庫 資料庫建起來後要創collection及document(Mongodb採用Database > collection > document的結構) 使用db.collection名稱.insertOne(document物件)來建立一包含一個document的collection  再來用db.tours.find()就能看到剛剛新增的資料了  show dbs可以顯示目前電腦上所有資料庫 show collections可以顯示目前的資料庫中的所有collection ### Query操作 [Query指令](https://docs.mongodb.com/manual/reference/operator/query/index.html) 這裡舉幾個簡單例子 #### filter (R) 1. $gte 過濾出大於等於某數值的資料  2. $lte 小於等於  3. 多個搭配使用  4. $or  5. 只顯示特定資料  #### update (U) 1. $set (若set的key不存在則會新增進去)  #### delete (D) 1. deletOne  ### 圖形介面操作(MongoDB Compass) mongoDB使用的圖形介面  由於目前是用local的db,只要把db啟動後直接點connect就能連接了  圖形介面可以直接用ADD DATA加document、點擊document直接改資料、在filter的欄位也能用query指令來查詢資料  ### MongoDB Atlas遠端資料庫 1. 到MongoDB Atlas登入後依照教學完成配置 2. 左上角新增project  3. 設定使用者權限  4. 點build a cluster  5. 選好相關的設定後create  6. 點connct開啟遠端設定頁面設定IP跟使用者帳密  7. 選擇連接方法  #### compass連接遠端資料庫 8. 點compass連接複製好連接地址後回到compass的new connection將這段貼上完成連接 9. 完成  #### mongo shell連接遠端資料庫 8. 選擇mongo shell後複製2的連結貼到cmd後輸入密碼就能直接連接了  9. 成功  #### application連接遠端資料庫 9. 選擇application後選擇使用的環境後複製2的指令  10. 將字串貼到環境變數並依照說明作處理(將myFirstDatabase改為自己設定的database名)  11. npm i mongoose 安裝mongoose(這裡用@5版本) 12. 到server.js引入mongoose並處理字串(replace密碼)  13. 連接起手式 ```javascript= // server.js const mongoose = require('mongoose') const DB = process.env.DATABASE.replace('<password>', process.env.PASSWORD) mongoose.connect(DB, { useNewUrlParser: true, useUnifiedTopology: true, useCreateIndex: true, useFindAndModify: true }).then(() => console.log('DATABASE CONNECTED')) ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up