MongoDB基础入门到深入 聚合高级操作
// 引入MongoDB客户端
const MongoClient = require('mongodb').MongoClient;
// 定义连接字符串
const url = 'mongodb://localhost:27017';
// 连接到服务
MongoClient.connect(url, { useUnifiedTopology: true }, (err, client) => {
if (err) throw err;
// 指定数据库和集合
const db = client.db('testdb');
const collection = db.collection('testcollection');
// 使用$group进行分组聚合
collection.aggregate([
{
$group: {
_id: "$by_user", // 分组键
unique_ids: { $addToSet: "$_id" }, // 使用$addToSet构建唯一id列表
count: { $sum: 1 } // 使用$sum进行计数
}
}
]).toArray((err, results) => {
if (err) throw err;
console.log(results);
client.close(); // 关闭连接
});
});
这段代码展示了如何在MongoDB中使用聚合管道进行分组操作,并且计算每个组中的文档数量,同时构建了一个包含所有文档唯一_id
的数组。这是一个很好的入门级教学示例,适合学习者理解和应用MongoDB聚合操作。
评论已关闭