📜  查找字段 mongodb 的总和 (1)

📅  最后修改于: 2023-12-03 15:40:23.699000             🧑  作者: Mango

查找字段 MongoDB 的总和

在 MongoDB 中,可以使用聚合操作符 $sum 来查找某个字段的总和。

步骤
  1. 连接到 MongoDB 数据库。
const MongoClient = require('mongodb').MongoClient;

async function main() {
  const uri = 'mongodb+srv://<username>:<password>@<cluster-address>/test?retryWrites=true&w=majority';
  const client = new MongoClient(uri);

  try {
    await client.connect();
    console.log('Connected to MongoDB database.');
  } catch (error) {
    console.error(error);
  } finally {
    await client.close();
  }
}

main().catch(console.error);
  1. 获取要计算总和的字段的值。
const collection = client.db('test').collection('orders');
const cursor = collection.find();
const field = 'total';
  1. 使用 $group 来分组并运用 $sum 聚合操作符来计算总和。
const pipeline = [
  {
    $group: {
      _id: null,
      total: {
        $sum: `$${field}`
      }
    }
  }
];

const result = await collection.aggregate(pipeline).toArray();
console.log(result);
代码片段
async function sumField(collection, field) {
  const pipeline = [
    {
      $group: {
        _id: null,
        total: {
          $sum: `$${field}`
        }
      }
    }
  ];

  const result = await collection.aggregate(pipeline).toArray();
  return result[0].total;
}

使用方法:

const total = await sumField(collection, 'total');
console.log(`The sum of the "total" field is ${total}.`);
结论

通过这个简单的示例,我们可以在 MongoDB 中查找一个字段的总和,使用 $sum 聚合操作符。如果你需要在你自己的项目中运用这个功能,现在你已经拥有了必要的基础知识。