javascript - unshift用法 - 從objectId數組中刪除一個ObjectId




splice javascript (2)

您需要將字符串傳遞給mongoose.Types.ObjectId('')以獲取您可以比較的實際對象。

所以_.remove(unit.items, mongoose.Types.ObjectId(req.params.itemId));

我有一個objectId像這樣: ["56153e4c2040efa61b4e267f","56033932efefe0d8657bbd9e"]要保存在我的模型中的信息,我使用:

items: [{
    type: mongoose.Schema.Types.ObjectId,
    ref: 'Items'
}]

我想要做的是拉一個數組的元素,它等於我從前端發送的刪除請求中的objectId。

我正在使用的代碼:

_.remove(unit.items, request.params.itemId);

我正在使用lodash庫。

我想這個問題是數組有ObjectId元素,我試圖比較一個字符串是request.params.itemId。


我有一個非常類似的設置與“事件”對象,有一個“分配”對像數組保存為ObjectIds數組。 我能夠簡單地使用

obj.arrayField.remove(idToRemove);

這裡是我的刪除路由處理程序中的相關代碼:

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

這對你有用嗎?

unit.items.remove(request.params.itemId);




lodash