【发布时间】:2021-05-06 13:22:09
【问题描述】:
我对如何查找嵌套数组有疑问,例如我有 4 个集合。
- 用户收藏
"user": [
{
"_id": "1234",
"name": "Tony",
"language": [
{
"_id": "111",
"language_id": "919",
"level": "Expert"
},
{
"_id": "111",
"language_id": "920",
"level": "Basic"
}
]
}
]
- 语言合集
"language": [
{
"_id": "919",
"name": "English"
},
{
"_id": "920",
"name": "Chinese"
}
]
- 工作
"job": [
{
"_id": "10",
"title": "Programmer",
"location": "New York"
}
],
- 简历提交收藏
"cvsubmit": [
{
"_id": "11",
"id_user": "1234",
"id_job": "11"
}
]
我的查询聚合是:
db.cvsubmit.aggregate([
{
$lookup: {
from: "user",
localField: "id_user",
foreignField: "_id",
as: "id_user"
}
},
{
$lookup: {
from: "language",
localField: "id_user.language.language_id",
foreignField: "_id",
as: "id_user.language.language_id"
}
},
])
但结果是:
[
{
"_id": "11",
"id_job": "11",
"id_user": {
"language": {
"language_id": [
{
"_id": "919",
"name": "English"
},
{
"_id": "920",
"name": "Chinese"
}
]
}
}
}
]
我想要这样的结果,还显示所有用户数据详细信息,如name:
[
{
"_id": "11",
"id_job": "11",
"id_user": {
"_id": "1234",
"name": "Tony"
"language": [
{
"_id": "919",
"name": "English",
"Level": "Expert"
},
{
"_id": "920",
"name": "Chinese",
"level": "Basic"
}
]
}
}
]
Mongo Playground 链接https://mongoplayground.net/p/i0yCucjruey
之前谢谢。
【问题讨论】:
标签: mongodb mongoose aggregation-framework