首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从ObjectId数组中删除objectId

从ObjectId数组中删除objectId
EN

Stack Overflow用户
提问于 2015-12-16 01:29:10
回答 2查看 1.2K关注 0票数 5

我有一个如下所示的objectId:["56153e4c2040efa61b4e267f","56033932efefe0d8657bbd9e"]来在我使用的模型中保存这些信息:

代码语言:javascript
复制
items: [{
    type: mongoose.Schema.Types.ObjectId,
    ref: 'Items'
}]

我要做的是在删除请求中从前端提取一个等于objectId的数组元素。

我使用的代码:

代码语言:javascript
复制
_.remove(unit.items, request.params.itemId);

我用的是房客图书馆。

我想问题是数组中有ObjectId元素,我正在尝试与一个字符串(即request.params.itemId )进行比较。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-16 01:38:15

我有一个非常类似的设置,一个“事件”对象,它有一个数组的“赋值”对象保存为一个ObjectIds数组。我可以简单的使用

代码语言:javascript
复制
obj.arrayField.remove(idToRemove);

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

代码语言:javascript
复制
var id = req.assignment._id;
req.event.assignments.remove(id);
req.event.save(function(err, event) {
    //etc 
}

这个对你有用吗?

代码语言:javascript
复制
unit.items.remove(request.params.itemId);
票数 3
EN

Stack Overflow用户

发布于 2015-12-16 02:02:44

您需要将字符串传递到mongoose.Types.ObjectId('')中,以获得可以与之进行比较的实际对象。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34302540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档