根据列值对查询进行不同的查询以获取不同的列
我有以下模式
module.exports = (sequelize, DataTypes) => {
const Photo = sequelize.define(
"Photo",
{
photoURL: {
type: DataTypes.STRING,
allowNull: false
},
blurPhotoURL: {
type: DataTypes.STRING,
allowNull: false
},
userId: { //userId of user who has uploaded the photo
type: DataTypes.UUID,
allowNull: false
},
isPublic: {
type: DataTypes.BOOLEAN,
default: false
}
}
{}
);
}
我还有一个模式SubscriberInfo
module.exports = (sequelize, DataTypes) => {
const SubscriberInfo = sequelize.define(
"SubscriberInfo",
{
userId: { // subscriber userId
type: DataTypes.UUID,
allowNull: false
},
modelId: { //subscribed userId
type: DataTypes.UUID,
allowNull: false
}
},
{}
);
}
因此,就像Instagram个人资料一样,用户可以隐藏照片,只有他的关注者可以看到照片,并且用户的重置将看到同一照片的模糊版本。
我已经设法将模糊照片和原始照片保存在数据库中,isPublic
是用于确定照片是否为私人的列。
在我的UI(个人资料部分)上,我希望根据查看个人资料的用户显示照片并模糊照片。
我能否在一个查询中实现这一点,在返回的JSON中,我将根据用户身份以及照片是否为blurPhotoURL
来获得photoURL
或isPublic
。
谢谢你!
回答如下:您可能想要类似的东西: