猫鼬确定元素是否已经在数组中的最快方法是什么。在这种情况下,我想从该数组中删除元素。如果数组不包含我要添加的特定元素。
当然添加和删除可以通过 addToSet 和 remove(_id) 来完成。查询也没有问题。我真的更关心做到这一点的最短方法,用更少的努力。
例如,我建议采用 Schema:
var StackSchema = new Schema({
references: [{ type: Schema.Types.ObjectId, ref: 'Person' }]
});
假设引用数组包含以下元素:
['5146014632B69A212E000001',
'5146014632B69A212E000002',
'5146014632B69A212E000003']
案例 1:我的方法收到 5146014632B69A212E000002 (所以应该删除这个条目。)
案例2:我的方法收到5146014632B69A212E000004(所以应该添加这个条目。)