最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

$addToSet 在我的 API 中无法使用 mongoDB

网站源码admin31浏览0评论

$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 仍然是空的......我不明白为什么它不更新而请求似乎成功了......

感谢大家的帮助。

回答如下:
发布评论

评论列表(0)

  1. 暂无评论