我試圖刪除嵌套在MongoDB中嵌套在文檔中的數組內嵌的文檔。通過貓鼬刪除嵌套在數組中的文檔
架構
{
"_id": 12345,
"id": 12345,
"name": "Test",
"links": [],
"training": [],
"about": [
{
"contents": "Test Contents 0",
"heading": "Test Heading 0"
},
{
"contents": "Test Contents 1",
"heading": "Test Heading 1"
},
{
"contents": "Test Contents 2",
"heading": "Test Heading 2"
}
]
}
我想刪除該路由
'/:_id/:section/:item'
這樣的,如果我發送匹配的子文檔一個DELETE
到/12345/about/1
,含有「測試標題1」的分商務部將被完全刪除。
我已經嘗試了很多不同的方法,如
.delete(function (req, res) {
var section = req.params.section_name;
var item = req.params.item;
Tool.findOne({'id': req.params._id}, function (err, tool) {
tool.set(section[item], null);
tool.save(function (err) {
res.send(err);
})
});
});
但似乎沒有工作。
任何幫助將不勝感激。
奇怪。它不會將其設置爲「未定義」。它正在得到正確的文件,但它並沒有真正設置它 – SlashTag
嘗試使用'splice',我已經更新了答案 –
YES!這工作。謝謝! – SlashTag