使用更新 mongoDB 从 objectId 数组中删除
Posted
技术标签:
【中文标题】使用更新 mongoDB 从 objectId 数组中删除【英文标题】:Remove from array of objectId using update mongoDB 【发布时间】:2017-09-09 04:01:28 【问题描述】:我有一个名为 courier 的模型,它有一个名为 order 的数组,orders 有一些模型 order 的 ObjectId,如何使用 update 或其他方法从 orders 数组中删除一个元素?
(例如删除具有特定 id 的订单)
这是我的模型:
快递员:
var courierSchema = new Schema(
name: type: String ,
orders:[type:Schema.Types.ObjectId,ref:'order'],
);
我试过这段代码,但失败了:
courier.update(
name: 'Mahan'
,
$pull :
orders:
_id: order._id
, (err, count, obj) =>
if(err)
console.log(err);
return handleError(err, reply);
console.log(count);
);
有没有办法不使用查找、删除然后保存来做到这一点?
【问题讨论】:
【参考方案1】:这将是实现您想要做的最有效的格式
db.collection.update(<cond to identify document, $pull: 'orders': 'id': <id> )
【讨论】:
以上是关于使用更新 mongoDB 从 objectId 数组中删除的主要内容,如果未能解决你的问题,请参考以下文章
如何使用聚合管道从 mongodb 中的当前字段中减去更新?
mongodb:从 json 查询中的 ObjectID 中提取时间戳