【发布时间】:2020-05-16 02:27:07
【问题描述】:
我使用nestJS 作为与MongoDB 连接的后端。我可以访问我的架构中的嵌套数组:
{
"id": "productId",
"name": "productName",
"price": "productPrice",
"Categories": [
{
"_id": "catId",
"name": "catName",
"Subcategories": [
{
"_id": "subcatId",
"name": "subcatName"
},
{
"_id": "subcatId",
"name": "subcatName"
},
]
},
{
"_id": "catId",
"name": "catName",
"Subcategories": [
{
"_id": "subcatId",
"name": "subcatName"
},
{
"_id": "subcatId",
"name": "subcatName"
},
]
}
]
}
]
我可以通过以下方式访问类别和子类别:
db.collection.aggregate([
{
$match: {
"id": "productId"
}
},
{
$unwind: "$Categories"
},
{
$project: {
"_id": "$Categories._id",
"name": "$Categories.name"
}
}
])
db.collection.aggregate([
{
$match: {
"id": "productId"
}
},
{
$unwind: "$Categories"
},
{
$match: {
"Categories._id": "catId"
}
},
{
$unwind: "$Categories.Subcategories"
},
{
$project: {
_id: "$Categories.Subcategories._id",
name: "$Categories.Subcategories.name"
}
}
])
我现在面临的问题是如何使用 findOneAndUpdate 方法更新一个类别或子类别。
我将如何访问要更新的正确类别/子类别_id?
提前致谢。
【问题讨论】:
标签: mongodb mongodb-query nosql nestjs