以下是一个示例架构:
var schema = mongoose.Schema;
var userSchema = new schema ({
username: {type: String},
hobby: [{
indoor: {
type: {type: String},
description: {type: String}
},
outdoor: {
type: {type: String},
description: {type: String}
}
}]
});
module.exports = mongoose.model('User', userSchema);
所以,一个非常简单的架构。它要求输入用户名,然后要求用户列出他们的爱好,并在室内和室外爱好之间以及阵列内部进行分配。
使用body-parser,我可以在表单输入中找到一个用户名:
var user = new User();
user.username = req.body.username;
这很简单。但是我怎样才能达到数组内部的爱好?我试过了:
user.hobby.indoor.type = req.body.type
但这不起作用;它只是给了我一个错误。任何帮助将不胜感激。
答案 0 :(得分:1)
以下代码可帮助您正确访问密钥。由于业余爱好是一个数组,您需要提供一个索引来获取其对象。点表示法与对象一起使用
user.hobby[0].indoor.type
Js Fiddle:https://jsfiddle.net/x18nyd2e/
答案 1 :(得分:0)
所以我最终找到了问题的答案。以下是该做什么的示例:
var user = new User();
user.username = req.body.username;
user.hobby = {{
indoor: {
type: req.body.type,
description: req.body.description
}
}];
这就是你如何到达数组内的属性。