从JSON创build一个mongoose模式

我开始玩node.js,expression,mongo和所有那些好东西。 我无法弄清楚如何为这样的JSON文件定义mongoose模式:

[ { "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 }); 

而且我不知道如何嵌套这些对象和数组,等等。

遵循关于embedded式文档的Mongoose文档的指导,您可以像这样定义一个Schema:

 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 ,可以处理投射,并有特殊的方法来处理embedded式文档。