在先前我們有安裝了 mongosh,在 bin 資料夾裡面有一個 mongosh.exe,點開來就可以下指令,指令方便查詢、新增、刪除、修改 Database 資料,此篇將列出常見的 MongoDB 指令。
資料庫顯示
顯示各個資料庫
1 | show dbs |
切換資料庫
切換到要操作的資料庫,如沒有此資料庫,會自動新增
use 資料庫名稱
1 | use rooms |
顯示所有集合
1 | show collections |
新增資料
insertOne()
新增一筆資料
1 | db.rooms.insertOne({ "rating": 4.5, "name": "標準雙人房", "price":2500}) |
insertMany()
新增多筆資料
1 | db.rooms.insertMany([ |
更新資料
updateOne()
更新一筆資料
符合此 id 的會進行修改,可針對欄位進行修改
1 | db.rooms.updateOne( |
updateMany()
更新多筆資料
針對 rating 為 4.8 的資料,針對欄位 rating 修改為 0
1 | db.rooms.updateMany( |
替換資料
replaceOne()
replaceOne 只能替換整個文件
1 | db.rooms.replaceOne( |
replaceMany()
1 | db.rooms.replaceMany( |
刪除資料
deleteOne()
刪除一筆資料
1 | db.rooms.deleteOne( |
deleteMany()
刪除多筆資料
1 | db.rooms.deleteMany( |
deleteMany()
刪除全部資料
1 | db.rooms.deleteMany({}) |
尋找資料
findOne()
找到第一筆符合的資料
1 | db.rooms.findOne( |
find()
找全部符合的資料
.pretty() 會將資料排版
1 | db.rooms.find( |
搜尋數值區間
- $eq:等於
- $ne:不等於
- $gt:大於
- $lt:小於
- $gte:大於等於
- $lte:小於等於
- $in:存在某個值
- $nin:不存在某個值
1 | db.rooms.find( |
搜尋複合條件
1 | db.rooms.find( |
關鍵字搜尋
利用正規表達式搜尋關鍵字
1 | db.rooms.find( |
project
保護欄位,不顯示出的欄位
0 不顯示,1 顯示
1 | db.rooms.find( |
尋找陣列裡的值
顯示 payment 包含信用卡的資料
1 | db.rooms.find( |
count()
查看數量
1 | db.posts.find().count() |
其他常用
sort()
設定資料排序
查詢 name 為 Lala 的 document 列表,排序為由新到舊
1 | db.posts.find({ "name": "Lala" }).sort({ "createdAt": -1 }) |
limit()
設定顯示幾筆數量
查詢 name 為 Lala 的 document 列表,顯示前 30 筆資料
1 | db.posts.find({ "name": "Lala" }).limit(30) |
skip()
跳過資料
查詢 comments 超過 100 的 document 列表,跳過前 30 筆資料,再顯示 30 筆資料
1 | db.posts.find({ "comments": { "$gt": 100 } }).skip(30).limit(30) |
$or
或者
尋找普通熱門貼文,請查詢 likes 或 (or) comments,1,000(含) 以上 的 document 列表
1 | db.posts.find( |
push
新增陣列項目
隨意找一筆 document 資料,將 tags 欄位裡的陣列,新增一個新 tags 為 遊記
1 | db.posts.updateOne( |
pull
移除陣列項目
將所有 tags 陣列裡的 感情 都移除
1 | db.posts.updateMany( |
本站相關文章
👉 MongoDB 安裝與介紹,什麼是 MongoDB
👉 MongoDB常用工具-Compass GUI 資料庫,Atlas 雲端資料庫
👉 用 Node.js 執行 JavaScript 環境,Node.js 後端開發第一步
👉 三分鐘了解 Node.js 模組原理:import 與 export 的運作
👉 Node.js HTTP 模組 | 建立強大的伺服器端應用程式
🚀實體工作坊分享
玩轉 Web頁面的前端技術(HTML/CSS/JS) 一日體驗課
最近時賦學苑開了實體體驗課,即使你對程式碼沒有概念也能上手!Lala 會帶你一起做出一個個人品牌形象網站,帶你快速了解前端的開發流程,快跟我們一起玩轉 Web 吧!🚀線上課程分享
線上課程可以加速學習的時間,省去了不少看文件的時間XD,以下是我推薦的一些課程想學習更多關於前後端的線上課程,可以參考看看。
Hahow
Hahow 有各式各樣類型的課程,而且是無限次數觀看,對學生或上班族而言,不用擔心被時間綁住六角學院
如果你是初學者,非常推薦六角學院哦!剛開始轉職也是上了六角的課,非常的淺顯易懂,最重要的是,隨時還有線上的助教幫你解決問題!
Udemy
Udemy 裡的課程非常的多,品質普遍不錯,且價格都滿實惠的,CP值很高!也是很多工程師推薦的線上課程網站。