【mongoDB】常用操作命令

代码诠释的世界發表於2024-06-14

一、官網

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

相關文章