如何将查询结果存储到变量中? 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;
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;