【发布时间】:2020-04-15 12:53:24
【问题描述】:
在 mongoose 中确定元素是否已经在数组中的最快方法是什么。在这种情况下,我想从该数组中删除元素。如果数组不包含我要添加的特定元素。
当然,添加和删除可以使用 addToSet 和 remove(_id) 来完成。查询也没有问题。我真的更关心用最短的方法来做这件事,用更少的努力。
例如我建议采用 Schema:
var StackSchema = new Schema({
references: [{ type: Schema.Types.ObjectId, ref: 'Person' }]
});
假设引用数组包含元素:
['5146014632B69A212E000001',
'5146014632B69A212E000002',
'5146014632B69A212E000003']
案例1:我的方法收到5146014632B69A212E000002 (所以这个条目应该被删除。)
案例2:我的方法接收到5146014632B69A212E000004(所以应该加上这个条目。)
【问题讨论】: