[英]MongoDB $push nested arrays
我正在写美食博客。 我想在数据库中实现食品食谱的以下结构。
recipes : [
{mainCategoryRecipe1: {...}},
{mainCategoryRecipe2: {...}},
subcategory1: [
{recipe1: {...}}
]
]
我要发布一个带有选择字段的表单,该表单指示正确的类别和子类别(如果需要)。 我可以在Node.js后端中访问它们。
我不知道如何将$ push到数据库中,以便数据遵循正确的结构。 我正在使用MongoJS。 我对此的尝试通过以下结构解决:
recipes : [
{subcategory1 : recipe1[...]},
{subcategory1 : recipe2[...]}
]
这是我的代码:
db.collection.findAndModify({
query:{_id: mongojs.ObjectId(userId)},
update: { $push: {
recipes : {
[recipe.subcategory] : recipe
}
}},
new: true
}, function(err, doc, lastErrorObject){
if(err){
throw (err)
} else {
//console.log(recipe)
res.render('/success');
}
});
先感谢您!
尝试使用代码belove,如果有任何错误,请对其进行注释。
db.collection.findOneAndUpdate({
{_id: new ObjectID(userId)},
{ $push: {
recipes : {
[recipe.subcategory] : recipe
}
}},
returnOriginal: false
}, function(err, doc, lastErrorObject){
if(err){
throw (err)
} else {
//console.log(recipe)
res.render('/success');
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.