从objectId数组中删除ObjectId

Die*_*ego 5 javascript mongoose node.js lodash

我有一个这样的objectId: ["56153e4c2040efa61b4e267f","56033932efefe0d8657bbd9e"] 要在我的模型中保存该信息,我使用:

items: [{
    type: mongoose.Schema.Types.ObjectId,
    ref: 'Items'
}]
Run Code Online (Sandbox Code Playgroud)

我要做的是从删除请求中拉出一个与前端发送的objectId相等的数组元素.

我正在使用的代码:

_.remove(unit.items, request.params.itemId);
Run Code Online (Sandbox Code Playgroud)

我正在使用lodash库.

我想的问题是数组有ObjectId元素,我试图与一个字符串比较request.params.itemId.

Mos*_*mel 3

我有一个非常相似的设置,其中有一个“Event”对象,该对象有一个保存为 ObjectId 数组的“Assignment”对象数组。我能够简单地使用

obj.arrayField.remove(idToRemove);
Run Code Online (Sandbox Code Playgroud)

这是我的删除路由处理程序中的相关代码:

var id = req.assignment._id;
req.event.assignments.remove(id);
req.event.save(function(err, event) {
    //etc 
}
Run Code Online (Sandbox Code Playgroud)

这对你有用吗?

unit.items.remove(request.params.itemId);
Run Code Online (Sandbox Code Playgroud)