我定义了以下嵌入式文档 Mongoose 模型
var mongoose = require("mongoose");
module.exports = function(mongoose) {
var Schema = mongoose.Schema,
chapters, articles;
Articles = new Schema({
identity: Number,
order: Number,
quick_title: String,
full_title: String,
last_edited: Number,
contributor: [String],
content: String,
video_link: String,
presentation_link: String,
question_id: [Number],
show_in_chapter: Boolean,
summary_text: String,
summary_image: String
});
chapters = new Schema({
order: Number,
title: String,
articles: [Articles]
});
return mongoose.model('chapters', chapters);
}
通过 .find 获取整个模型数据库后,我目前正在尝试使用作者推荐的方法(使用 EJS 模板引擎)将其引导到一个主干JS模型中:
var Chapters = Backbone.Collection.extend({});
chapters = new Chapters( JSON.stringify(<%=chapters%>));
我已经尝试了很多方法让它工作,使用上面的代码它会给我错误 Unexpected SyntaxError Unexpected Number (参考第一个标题是第 1 章)
关于如何将此 Mongoose 模型转换为 Backbonejs 模型的任何想法?谢谢!
更新:
通过在将其发送到模板然后在模板中使用 stringify 使其工作,并用括号覆盖它:chapters = new Chapters("(" + <%-chapters2%> + ")");
不幸的是,这并没有给我想要的 Backbone 集合。当我'console.log(chapters.toJSON());'时,它只给了我以下
[
Object
([object Object],[object Object],[object Object],[object Object]): Object
__proto__: Object
]
使用 .at 方法时,在 (0) 处也只有一个模型。有任何想法吗?