Sequelize:如果parent属性等于特定值

时间:2018-01-30 15:38:08

标签: node.js express sequelize.js

我正在使用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时包含用户,这意味着该问题适用于特定用户

如何进行此查询?

由于

0 个答案:

没有答案