まず、小さなデータセットですので、APIを使用してプロダクションDB全体を1つの画面にダンプするのは賢明ではないでしょう... Node.jsアプリケーションのAPIエンドポイントを経由して戻るには、全体の(小さな)DBのJSONダンプを取得するだけです。Node.js APIでMongoDBのコンテンツ全体を表示
私のアプリケーションが正常にこのコードで単一のレコードを返すん:
MongoClient.connect("mongodb://localhost:27017/search", function (err, db) {
if(err) throw err;
db.collection('results', function(err, collection) {
// search for match that "begins with" searchterm
collection.findOne({'string':new RegExp('^' + searchterm, 'i')}, function(err, items){
// get result
var result;
if (items == null || items.result == null){
result = "";
}
else {
result = items.result;
}
// return result
res.send(result);
});
});
});
だから私は、ノードが正常にモンゴに話している知っているが、どのように私は基本的にあなたが実行したときに何を得る返すために、このクエリ/コードを微調整することができます次のMongoDBコマンドラインで:
$ db.results.find()
なぜtoArrayをタックする必要があるのか、私は非常に興味があります。使用しているMongoDB/Mongooseのバージョンを共有していることを心に留めてください。 –
私は正直言って、私はモンゴースが何であるか分かりません。私はMac OS X Sierra上でMongoDBのv3.2.0を実行しています。私はtoArray(...)を使用しました。ランダムな試行錯誤の後、これが最初に働いたからです。あなたが正しい選択肢を提案するなら、私はそれに行くでしょう。 – HomerPlata
Mongooseは、JavaScript/Node.js用のMongoDBを包むラッパーで、少し保守しやすく読みやすいコードに抽象化しています。私はそれが私の提案された解決策がうまくいかなかった理由だと思う。 Mongooseはおそらくあなたがしたことを正確に行います: 'toArray()'内部的に。 –