我正在使用nodejs v8.9.0 + expressjs v4.14.0 + sequelize v3.25.0来构建一个人们可以互相提问的网络应用程序。用户可以询问公众或私人(针对具体用户)问题
以下是用户模型:
/** USER MODEL **/
module.exports = function(sequelize, DataTypes) {
var User = sequelize.define('users', {
firstName: {
type: DataTypes.STRING(50),
field: 'firstName'
},
lastName: {
type: DataTypes.STRING(200),
field: 'lastName'
},
email: {
type: DataTypes.STRING(200),
field: 'email'
},
},
{
classMethods: {
User.belongsToMany(
models.questions,
{
through: 'QuestionRecipient', foreignKey: 'userId'
}
);
}
})
以下是问题模型:
/** QUESTION MODEL **/
module.exports = function(sequelize, DataTypes) {
var Question = sequelize.define('questions', {
content: {
type: DataTypes.TEXT,
field: 'content'
},
target: {
type: DataTypes.INTEGER,
field: 'target',
defaultValue: 1 // 1 = public / 2 = private
}
},
{
classMethods: {
Question.belongsToMany(
models.users,
{
through: 'QuestionRecipient', foreignKey: 'questionId'
}
);
}
})
现在,当我查询问题时,我想通过'QuestionRecipient'仅在question.target = 2时包含用户,这意味着该问题适用于特定用户
如何进行此查询?
由于