addToSet 在我的 API 中无法使用 mongoDB"/>
$addToSet 在我的 API 中无法使用 mongoDB
我知道有很多关于这个的话题,但是我没有找到解决我的问题的方法。
为了训练我的 JS 技能,我决定创建一个报价生成器,所以我创建了 API 和前端。
所以,到目前为止,一切都很完美,但是当我决定创建一个“类别”系统时,我的问题来了。
原理是创建一个类别标题,然后每次给报价一个类别,应该在数据库中更新一个名为“quoteId”的数组来存储报价ID。
这里是 Category 在 mongoDB 中的模型:
const mongoose = require('mongoose');
const categorySchema = mongoose.Schema({
title: { type: String, required: true },
quoteId: { type: Array, required: false },
userId: { type: Array, required: false },
});
module.exports = mongoose.model('Category', categorySchema);
现在,更新类别集合中的 quoteId 数组的代码:
exports.setCategoryProduct = (req, res) => {
Category.updateOne(
{ title: req.params.categoryTitle },
{ $addToSet: { quoteId: req.body.quoteId } }
)
.then(() =>
res.status(201).json({ message: 'Category updated !', status: 201 })
)
.catch((error) => res.status(500).json({ error: error, status: 500 }));
};
所以,当我在 POSTMAN 中执行 PUT 请求时,它返回“类别已更新”消息,但是当我签入集合时,我可以看到 quoteId 仍然是空的......我不明白为什么它不更新而请求似乎成功了......
感谢大家的帮助。
回答如下:更多推荐
$addToSet 在我的 API 中无法使用 mongoDB
发布评论