Sequelize:如何从用户 ID 列表中查询帖子列表?
Sequelize : How to query posts list from user id list?
为了了解后端应用程序的工作原理,我目前正在使用 nodejs 和 sequelize(前端为 reactjs)创建一个类似 instagram 的小型应用程序。
我有 3 个 SQL 表 :
用户
编号 (pk)
用户名
电子邮件
密码
帖子
编号 (pk)
用户 ID (fk)
信息
媒体网址
正在关注
编号 (pk)
用户 ID (fk)
followingId (fk)
我想知道从与 userId 对应的 followingId 数组中检索帖子的最简洁方法是什么?
我刚刚找到了实现我想要的方法:
const db = require("../models");
const User = db.users;
const Post = db.posts;
const Following = db.followers;
const Op = db.Sequelize.Op;
exports.requestPost = async (req, res) => {
const followers = await Following.findAll({
where: {
userId: req.body.userId
},
attributes: [
['followingId', 'followingId']
]
});
const result = await followers.map(x => x.followingId);
const posts = await Post.findAll({
where: {
userId: result
}
});
return res.send(posts)
}
为了了解后端应用程序的工作原理,我目前正在使用 nodejs 和 sequelize(前端为 reactjs)创建一个类似 instagram 的小型应用程序。
我有 3 个 SQL 表 :
用户 编号 (pk) 用户名 电子邮件 密码
帖子 编号 (pk) 用户 ID (fk) 信息 媒体网址
正在关注 编号 (pk) 用户 ID (fk) followingId (fk)
我想知道从与 userId 对应的 followingId 数组中检索帖子的最简洁方法是什么?
我刚刚找到了实现我想要的方法:
const db = require("../models");
const User = db.users;
const Post = db.posts;
const Following = db.followers;
const Op = db.Sequelize.Op;
exports.requestPost = async (req, res) => {
const followers = await Following.findAll({
where: {
userId: req.body.userId
},
attributes: [
['followingId', 'followingId']
]
});
const result = await followers.map(x => x.followingId);
const posts = await Post.findAll({
where: {
userId: result
}
});
return res.send(posts)
}