貓鼬的最快方式是確定元素是否已經在數組中。在這種情況下,我想從該數組中刪除該元素。在數組不包含特定元素的情況下,我想添加它。mongoose - 如果不在數組中,則將其添加,如果已在數組中,請將其刪除
當然可以使用addToSet和remove(_id)來添加和刪除。查詢也沒有問題。我真的更關心以最短的方式來做到這一點,用更少的努力。
例如,我建議採取架構:
var StackSchema = new Schema({
references: [{ type: Schema.Types.ObjectId, ref: 'Person' }]
});
比方說,引用數組包含的元素:
['5146014632B69A212E000001',
'5146014632B69A212E000002',
'5146014632B69A212E000003']
案例1:我的方法接收5146014632B69A212E000002 (所以此項應被刪除。)
案例2:我的方法收到5146014632B69A212E000004(所以這個條目應該被添加。)