如何将查询结果存储到变量中? mongodb

how to store the query result into a variable? mongodb

  let userId = await db.get().collection(collection.ORDER_COLLETION)
  .aggregate([
    {
      $match: {_id:objectId(orderId)}
    },
    {
      $project: {UserId:1,_id:0}
    }
  ]).toArray()

//输出 [ { 用户 ID: 61c4c7cb8d3b9622509f0c03 } ]

我想将 userId 保存到一个变量中。 比如让 a = 61c4c7cb8d3b9622509f0c03

我要做什么?

聚合操作处理多个文档并return计算出多个结果。

如果您只想获得一个用户,您可以通过添加另一个步骤来限制聚合

{ $limit: 1}

然后你可以把它保存到一个变量中

const { userId } = results[0];

或者在您的情况下,最好使用 findOne 操作

const user = db
  .get()
  .collection(collection.ORDER_COLLETION)
  .findOne({ _id: objectId(orderId) });

然后就可以将userId保存到一个变量中

const userId = user._id;
// or you can use object destructuring
const { _id: userId } = user;