您好,我想将数据插入“ 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
-用户IDreq.body.categoryId
-类别IDreq.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/