gpt4 book ai didi

javascript - 从 $arrayElemAt 结果中选择字段

转载 作者:行者123 更新时间:2023-11-29 22:58:25 25 4
gpt4 key购买 nike

$map 中的 $arrayElemAt 中选择特定字段。我只想选择从 $arrayElemAt

处的对象返回的名称字段
const data = await this.aggregate([
{
$match: { provider_id: providerId },
},
{
$lookup: {
from: 'users',
localField: 'staff.user_id',
foreignField: '_id',
as: 'staffUsers',
},
},
{
$project: {
staff: {
$map: {
input: '$staff',
in: {
_id: '$$this._id',
email_login: '$$this.email_login',
full_calendar_view: '$$this.full_calendar_view',
verified: '$$this.verified',
user_id: '$$this.user_id',
description: '$$this.description',
name: {
$arrayElemAt: [
'$staffUsers',
{
$indexOfArray: ['$staffUsers._id', '$$this.user_id'],
},
],
},
},
},
},
},
},
]);

最佳答案

只需将 .dot$staffUsers 一起使用

{ "name": {
"$arrayElemAt": [
"$staffUsers.name",
{ "$indexOfArray": ["$staffUsers._id", "$$this.user_id"] }
]
}}

关于javascript - 从 $arrayElemAt 结果中选择字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56134785/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com