【发布时间】:2020-08-22 07:46:06
【问题描述】:
我正在创建我的第一个 MERN 应用程序,我遇到了这个问题: 我有持有用户 ID 的帖子:
{
"reward": {
...
},
"_id": "5eb2d90d7d56c415cc4d5f97",
"user": "5eabbb85b8814723fcee0f01",
"text": "Body text hihi hahha",
"createdAt": "2020-05-06T15:34:37.439Z",
"__v": 0
}
在帖子控制器中创建时,我确实设法自动将用户 ID 添加到帖子中。现在的问题是我不知道应该在哪里以及如何将创建的帖子的 id 推送到用户模型中的帖子数组中。 这就是用户模型:
username: {
type: String,
required: [true, "Username is required"],
unique: true,
trim: true,
minlength: 3,
maxlength: 15,
},
email: {
type: String,
required: [true, "Email is required"],
unique: true,
},
role: {
type: String,
enum: ["user"],
default: "user",
},
cards: [
{
type: mongoose.Schema.ObjectId,
ref: "Card"
},
],
就在“卡片”所在的位置,我想在用户字段中拥有包含用户 ID 的帖子的 ID。 这是 Post 模型:
user: String,
text: {
type: String,
},
reward: {
...
},
user: {
type: mongoose.Schema.ObjectId,
ref: 'User',
required: true
},
这是将帖子保存到数据库的控制器:
exports.addCard = asyncHandler(async (req, res, next) => {
//Add user to req.body
req.body.user = req.user.id;
const card = await Card.create(req.body);
res.status(201).json({
success: true,
message: 'Card created',
data: card
});
});
我猜它应该在创建帖子时发生,比如在当前登录用户的用户模式中将帖子 ID 推送到帖子数组中? 如何正确存档?
【问题讨论】:
-
您能告诉我们您将帖子保存到数据库的代码吗?
-
当然,我编辑了问题
标签: javascript node.js database mongodb mongoose