-3
我有一個以下數據的集合:刪除子文件中的NodeJS與MongoDB的
{
"__v": NumberInt(0),
"_id": ObjectId("565443b1172e19d51f98b0ed"),
"address": "tohana",
"comments": [
{
"_id": ObjectId("5654455fe088d89c20736e3c"),
"comment": "good man",
"uemail": "[email protected]",
"uname": "dinesh"
},
{
"_id": ObjectId("565445e471dce6ca20705a84"),
"comment": "nice person",
"uemail": "[email protected]",
"uname": "krishan"
},
{
"_id": ObjectId("5654460e7aa73bec2064060e"),
"comment": "bad person",
"uemail": "Rai",
"uname": "Rahul"
}
],
"email": "[email protected]"▼,
"name": "Nishant"
}
任何人都可以提出如何從「意見」鍵只有子文檔的ID刪除子文檔,我要去德爾? 例如,我想刪除一個ID爲5654455fe088d89c20736e3c
的子文檔,所以這個子文檔應該被刪除。
這裏是代碼我使用:
var Users = require("../app/models/users"); //userModel
app.post('/deleteComment/:id', function(req, res) {
var input = JSON.parse(JSON.stringify(req.body));
var id = req.params.id;//commentId
var userId = input.id;//userId
Users.findByIdAndUpdate(userId, {
'$pull': {
'comments':{ '_id': new ObjectId(someStringValue) }
}
});
});
但這並不刪除數據。
上面提到的JSON是Post請求體?你使用貓鼬包裝的MongoDB? –
我正在使用貓鼬 – Karan
好吧。完善。首先,您必須使用id(文檔ID不是評論ID)獲取完整文檔,然後從返回文檔中移除評論,就像您可以使用lodash或下劃線來查找和刪除評論數組中的評論。之後再次保存/更新新的更新文件。合理? –