javascript -  Mongoose (数组中的数组)-如何插入?-LMLPHP

您好,我想将数据插入“ rss”数组。我怎样才能做到这一点?
这就是我将新类别添加到用户集合的方式:

  user.findOneAndUpdate({
    _id: req.body.ownerId
  },
  { $push: {
    categories: {
      name: req.body.categoryName,
      public: false
    }
  }},
  { safe: true, upsert: true },
  function(err, model) {
    console.log(err);
  });


但是我如何才能在Sport / rss中添加一些内容?首先,我需要通过ID查找用户,其次,我还需要通过ID查找类别。怎么做,最后插入?

我的变量:
req.body.ownerId-用户ID
req.body.categoryId-类别ID
req.body.url-我想插入类别数组的rss url

感谢您的帮助。

最佳答案

不建议您在数组中维护一个数组。通常最好为类别维护一个单独的集合。

也就是说,您将需要执行两个查询:一个查询为用户填充categories数组,另一个查询为同一用户填充rss数组中的categories数组。

在第一个更新查询中:

// Populate the 'categories' array. Insert the empty 'rss' array.
...
{ $push:
  categories: {
    name: req.body.categoryName,
    public: false,
    rss: []
  }
}
...


在第二个更新查询中:

// Populate the 'rss' array for the same user.
...
{ $push:
  'categories.$.rss': req.body.url
}
...


第二个更新查询将在第一个更新的回调中执行。

关于javascript - Mongoose (数组中的数组)-如何插入?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34834640/

10-12 12:46
查看更多