Node.js 从json创建mongoose模式
我开始玩node.js、express、mongo和所有这些好东西。 我不知道如何为JSON文件定义mongoose模式,如下所示:Node.js 从json创建mongoose模式,node.js,mongodb,express,mongoose,Node.js,Mongodb,Express,Mongoose,我开始玩node.js、express、mongo和所有这些好东西。 我不知道如何为JSON文件定义mongoose模式,如下所示: [ { "artist" : "Lorem", "profile-picture": "/lorem.jpg", "bio": "Lorem ipsum dolor sit amet, consectetur.", "songs": [ { "id": 0, "name": "Lore
[
{
"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
});
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" : "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
});
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" : "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
});
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);
然后,您的艺术家
文档的歌曲键将成为DocumentArray
的一个实例。这是一个特殊的子类Array
,可以处理强制转换,并具有处理嵌入文档的特殊方法