我开始玩node.js,express,mongo和所有好东西。 我无法弄清楚如何为这样的JSON文件定义mongoose Schema:
[
{
"artist" : "Lorem",
"profile-picture": "/lorem.jpg",
"bio": "Lorem ipsum dolor sit amet, consectetur.",
"songs": [
{
"id": 0,
"name": "Lorem ipsum",
"url": "/lorem.mp3",
"length": 34,
"rating": {
"likes": 3,
"likes-timestamps": [
1436822318,
1436822321,
1436822334
]
}
}
]
}
]
在我遇到的每个教程中,它都太简单了,不像这样:
MySchema = new Schema({
name: String
});
我不确定是否嵌套那些对象和数组等。 提前谢谢。
答案 0 :(得分:1)
根据 Mongoose documentation 对嵌入式文档的指导,您可以像这样定义一个架构:
var Song = new Schema({
"id" : Number,
"name" : String,
"url" : String,
"length" : Number,
"rating" : {
"likes": Number,
"likes-timestamps": [Number]
}
});
var Artist = new Schema({
"artist" : String,
"profile-picture" : String,
"bio" : String,
"songs" : [Song]
});
mongoose.model('Artist', Artist);
Artist
文档的歌曲键将成为DocumentArray
的实例。这是一个可以处理强制转换的特殊子类Array
,并且具有使用嵌入式文档的特殊方法。