我有一个带有movement_id 列的数据库。我想修改下面的函数以仅打印不包含在传递的数组arrayMovementId 中的motion_id。
arrayMovementId = [100,200,300]
query = { movement_id: { $in: arrayMovementId } };
models.movement.findAll({ where: query}).then(notSync => {
let notSynchro = notSync.map(el => {
return el.movement_id;
})
console.log(notSynchro)
...
我的数据库列motion_id 值:1,4,50,200,500,6000...
今天它打印包含在表格中的元素:[200]
我想打印点不包含的元素:[100,300]
我试过 $notIn 但打印了数据库表中不匹配的所有元素。此致
最佳答案
您可以在查询后过滤 arrayMovementId
:
arrayMovementId = [100, 200, 300];
query = { movement_id: { $in: arrayMovementId } };
models.movement.findAll({ where: query }).then(notSync => {
let notSynchro = arrayMovementId.filter(
value => !notSync.map(el => el.movement_id).includes(value)
);
console.log(notSynchro)
...
关于javascript - FindAll 不包含在 sequelize 中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63105004/