2016-11-03 3 views
0
CREATE TABLE msg (usr INTEGER, txt TEXT); 
CREATE TABLE ban (usr INTEGER); 
SELECT * FROM msg WHERE (msg.usr NOT IN (SELECT usr FROM ban)); 

Это один вкладыш в простом SQL будет выбирать все из msg если msg.usr не найден в ban. У меня есть Sequelize query docs open, но не можете найти, что это делает Sequelize?Выберите сообщения от не запрещенных пользователей

Здесь, я был в состоянии получать сообщения от заблокированных пользователей, но не могу инвертировать результат:

var Msg = sequelize.define('Msg', { 
    usr: { type: Sequelize.INTEGER, primaryKey: true }, 
    txt: Sequelize.STRING 
}, { 
    tableName: 'msg' 
}); 

var Ban = sequelize.define('Ban', { 
}, { 
    tableName: 'ban' 
}); 

Msg.hasMany(Ban); 
Ban.belongsTo(Msg); 

Msg.findAll({ 
    include: [{ 
      model: Ban, 
      where: { MsgUsr: {$ne: null} } 
     }] 
}).then((a)=>{ 
    a.forEach((row)=>{ 
     let ban = '-' 
     if(row.Bans[0]) ban = row.Bans[0].id 
     console.log(row.usr, row.txt, ban) 
    }) 
}) 

ответ

0

Пути написать необработанный запрос SQL, @mhansen (библиотека сопровождающий) сказал.

enter image description here

Смежные вопросы