一、官網
https://www.mongodb.com/zh-cn/docs/mongodb-shell/crud/
二、簡單介紹
1、基本概念
2、資料型別
三、常用shell操作
1、資料庫操作
// 檢視當前伺服器上的資料庫 show dbs; show databases; // 選擇名為mydb的資料庫(如果沒有則建立) use mydb; // 檢視當前使用的資料庫 db; // 檢視當前資料庫的統計資訊 db.stats(); // 檢視當前資料庫的操作資訊 db.currentOp(); // 刪除當前資料庫 db.dropDatabase();
2、集合操作
// 檢視當前資料庫中的集合 show collections; show tables; // 建立一個名為mycoll的集合 db.createCollection("mycoll"); // 重新命名mycoll集合,新集合名叫mycollection db.mycoll.renameCollection("mycollectioin") // 清空一個mycollection的集合 db.mycollection.remove({}); // 刪除一個mycollection的集合 db.mycollection.drop();
3、文件操作
# 啟動MongoDB shell mongo # 連線到資料庫 use mydatabase # 插入文件 db.mycollection.insertOne({ name: "Alice", age: 25 }) db.mycollection('Student').insertOne({"id":2,"name":"zhangsan",age:22}) db.mycollection('Student').insertMany([{"id":3,"name":"lisi",age:23},{"id":4,"name":"wangwu",age:23}]) # 查詢所有文件 db.mycollection.find({}) # 查詢特定文件 db.mycollection.find({ name: "Alice" }) # 更新第一個匹配的文件 db.mycollection.updateOne({ name: "Alice" }, { $set: { age: 30 } }) # 更新所有匹配的文件 db.mycollection.updateMany({ name: "Alice" }, { $set: { age: 30 } }) # 刪除第一個匹配的文件 db.mycollection.deleteOne({ name: "Alice" }) # 刪除所有匹配的文件 db.mycollection.deleteMany({ name: "Alice" })
等等
4、排序
db.mycollection.find().sort({ field: -1 }); db.mycollection.find().sort({ field: 1 }); db.mycollection.find().sort({ field1: 1, field2: -1 }); db.mycollection.find().sort({ field: 1 }).limit(5); db.mycollection.find().sort({ field: 1 }).skip(10).limit(5);
等等
5、運算子查詢
https://www.mongodb.com/zh-cn/docs/manual/reference/operator/query/
6、統計查詢
db.mycollection.find({name:{$ne:null}}).count() db.mycollection.count({name:{$ne:null}})
7、聚合查詢
db.mycollection.aggregate([ // 聚合階段 { $match: { status: "A" } // 篩選 status 為 "A" 的文件 }, { $group: { // 分組 _id: "$cust_id", // 根據 cust_id 欄位分組 total: { $sum: "$amount" } // 計算每個分組的 amount 欄位之和 } }, { $sort: { total: -1 } // 根據 total 欄位降序排序 } ]);
參考連結:
https://blog.csdn.net/hexiaosi_/article/details/127472095