【发布时间】:2021-11-16 12:36:35
【问题描述】:
这是我使用 _id 从元素数组返回对象的查询。看起来是这样的,
db.users.aggregate([
{$match: { "business_idea._id": ObjectId('613ee10818bc570bceb1d060') }},
{$project: {
business_idea: {$filter: {
input: '$business_idea',
as: 'bi',
cond: { $eq: ["$$bi._id", ObjectId('613ee10818bc570bceb1d060') ] }
}}
}}
])
这个查询产生这样的输出,
{
"_id" : ObjectId("613e418f19968b0652bbbb24"),
"business_idea" : [
{
"business_tags" : [
ObjectId("613ee063b11cee0b7dde1086")
],
"_id" : ObjectId("613ee10818bc570bceb1d060"),
"business_id" : "613ee10818bc570bceb1d05f",
"business_name" : "Business_2",
"business_type" : "No type",
"business_desc" : "desc, desc-2",
"business_logo" : "https://neur-dev.s3.ap-south-1.amazonaws.com/logo/21091631510791555.jpeg",
"isDeleted" : false,
"business_name_to_lower" : "business_2"
}
]
}
现在我只想使用_id 从businesstags 集合中填充business_tags 的实际值。
谁能帮我解决这个问题, 谢谢。
【问题讨论】:
标签: mongodb mongoose mongodb-query aggregation-framework