mongodb データベースにいくつかのデータがあり、ホームページをロードするときにバックボーン コレクションに渡したいと考えています。これを行う 1 つの方法は、次のようなノード ルートを設定することです。
exports.index = function(req, res){
db.users.find(function(err, docs) {
var docs_string = JSON.stringify(docs);
res.send(docs_string);
};
};
しかし、バックボーン コードをプルする jade テンプレートをレンダリングしないため、これは機能しません。JSON をプレーン テキストで表示するだけです。
または、データを変数として jade に渡す jade テンプレートをレンダリングすることもできます。
exports.index = function(req, res){
db.users.find(function(err, docs) {
var docs_string = JSON.stringify(docs);
res.render('index', {
title: "Data",
docs_string: docs_string
})
});
};
次に、jade テンプレートで、次のようなスクリプトを作成して、ユーザーをユーザー コレクションに追加します。
script
var docs = !{docs_string};
var users = new app.Users();
_.each(docs, function(doc) {
var user = new app.User(doc);
users.add(user);
})
しかし、これは間違っているようです。実際にはデータを jade テンプレートに渡したいわけではないので、バックボーン コレクションに渡したいのです。また、このソリューションでは、サーバー側の jade によってレンダリングされたページに (バックボーン側の) アンダースコア テンプレートを含める方法がわかりません。
ノード サーバーからバックボーン コレクションにデータを渡す標準的な方法は何ですか?