要素がすでに配列にあるかどうかを判断するためのマングースの最速の方法は何ですか。その場合、その配列から要素を削除したいと思います。配列に追加したい特定の要素が含まれていない場合。
もちろん、追加と削除はaddToSetとremove(_id)で実行できます。クエリも問題ありません。私はこれを行うための最短の方法を、より少ない労力で本当に気にかけています。
たとえば、スキーマを取ることをお勧めします。
var StackSchema = new Schema({
references: [{ type: Schema.Types.ObjectId, ref: 'Person' }]
});
参照配列に要素が含まれているとしましょう。
['5146014632B69A212E000001',
'5146014632B69A212E000002',
'5146014632B69A212E000003']
ケース1:私のメソッドは5146014632B69A212E000002を受け取ります(したがって、このエントリは削除する必要があります)。
ケース2:私のメソッドは5146014632B69A212E000004を受け取ります(したがって、このエントリを追加する必要があります)。