pong/htmlページのmongodbからデータを取得しようとしています。私は関連するノードとmongoサーバーを稼働させています。mongodbを照会し、結果をindex.pugに表示しようとすると、[object Object]が返されます。
私が持っているサンプルデータは
[ { _id: 59708077c9412f6d7f7e8485,
username: 'xyz123',
email: '[email protected]' } ]
そして、私はこれをログコンソール、それはノードのターミナルウィンドウに表示されています。
私app.jsのコードは
var MongoClient = require('mongodb').MongoClient;
var url = 'mongodb://localhost:27017/questiondb';
var mongotest = [];
MongoClient.connect(url, function (err, db) {
var str = db.collection('usercollection').find();
str.each(function (err, doc) {
mongotest.push(doc); //Push result onto results_array
console.log(mongotest)
});
app.get('/', (req, res) => {
res.render('index', {"results": mongotest });
});
});
で、私のindex.pugファイルに私はhtmlページに結果が
Result [object Object]
ある
p Hello
each mongotest, i in results
div Result #{i} #{mongotest}
を持っています
私は、結果をオブジェクトから文字列に変更する必要があると仮定しています。 JSON.stringifyのようなものを使うと、pugのループを使って、別々の繰り返しとしてクエリーの文字を描画します。
私は近いですが、事前に
おかげで思っていたものについては
固定
:-)私の学習に穴が明らかに存在し、これらは私がに私のコードに加えられた変更されていますそれを働かせてください。変数にプロパティを保存し、それをpugテンプレートで参照しました。
var readVar;
readVar = mongotest[0].username;
});
};
app.get('/', (req, res) => {
res.render('index', { readVar});
おかげでエラーを処理することを忘れて、よくnoted.I'veは、その変更をしたが、まだ何も通じ来ません。私はオブジェクトから変数にセットのユーザー名を参照し、その変数をpugテンプレートに渡しましたが、何も得られません。それはnodejsコンソールに正しく記録されます... – lycrake
実際には、それを考え出しました。私はあなたの助けを借りて、他の人のための答えで私の質問を更新します! – lycrake