MongoDB聚合框架:强大的数据处理与分析工具
// 引入MongoDB客户端
const MongoClient = require('mongodb').MongoClient;
// 定义连接字符串
const url = 'mongodb://localhost:27017';
// 连接到服务器所需数据库
const dbName = 'exampleDb';
// 创建新的MongoClient实例
const client = new MongoClient(url, { useUnifiedTopology: true });
// 连接到MongoDB数据库
client.connect(function(err) {
if(err){
console.log('数据库连接失败', err);
return;
}
console.log('连接成功');
const db = client.db(dbName);
// 使用aggregate方法进行复杂的数据聚合操作
db.collection('documents').aggregate([
{
$match: { status: 'A' } // 筛选状态为'A'的文档
},
{
$group: { // 对筛选结果进行分组
_id: "$cust_id", // 分组的键
total: { $sum: "$amount" } // 计算每个客户的总金额
}
},
{
$sort: { total: -1 } // 根据总金额降序排序
}
]).toArray(function(err, results) {
if(err){
console.log('聚合操作失败', err);
return;
}
console.log('聚合操作结果:', results);
client.close(); // 关闭数据库连接
});
});
这段代码展示了如何使用MongoDB的聚合框架来处理数据。首先,它连接到一个MongoDB数据库,然后执行一个复杂的聚合操作,筛选状态为'A'的文档,对每个客户的金额进行分组并求和,然后按总金额降序排序。最后,它输出了聚合操作的结果并关闭了数据库连接。
评论已关闭