我想从MongoDB中删除子文档的数组。在这里,您可以看到数据集:
{
"_id" : ObjectId("5971cd685369fa57f41a6af3"),
"msgtyp" : 1,
"number" : "201700005",
"name" : "name",
"status" : null,
"position" : [
{
"pos" : 1,
"number" : "9874326",
"value" : "art 123",
},
{
"pos" : 2,
"number" : "125124",
"value" : "art 321",
}
]
}
我想根据"pos" : 1
和pos
从number
删除整个数组条目。预期文件应为:
{
"_id" : ObjectId("5971cd685369fa57f41a6af3"),
"msgtyp" : 1,
"number" : "201700005",
"name" : "name",
"status" : null,
"position" : [
{
"pos" : 2,
"number" : "125124",
"value" : "art 321",
}
]
}
我尝试了以下代码:
exports.delete_position = function(req, res) {
auftrag.remove(
{
"number": req.body.number,
"position.pos": req.body.pos
}, function(err, position){
if(err)
res.status(400).send(err);
res.status(200).json(position);
});
};
不幸的是,无法删除数组条目。你能告诉我如何删除这个条目吗?
不使用pos
和number
删除条目并改为使用_id
会更好/最佳做法吗?
谢谢!