MongoDBからExpressにデータをロードしようとしていますが、最終的にhtmlで角度を使用して表示しています。今私はデータを取得するために働いているが、これはデータベース内の1つのレコードでのみ動作します。私は複数のレコードを作成する場合は、コンソールに次のエラーを与える:MongoDBからデータを取得
「それらが送られた後、ヘッダを送信することはできません」
これは急行の私の「取得」要求:
router.get('/getdata', function(req, res, next){
var findDocuments = function(db, callback) {
var cursor = db.collection('userdata').find({});
cursor.each(function(err, doc) {
assert.equal(err, null);
if (doc != null) {
res.status(200).json(doc);
} else {
callback();
}
});
};
mongo.connect(url, function(err, db) {
assert.equal(null, err);
findDocuments(db, function() {
db.close();
});
});
console.log('Items have been returned');
});
まず、私はMondoDBで作業するための非常に素晴らしい機能を提供するMongooseを使用することをお勧めします。スキーマを作成したら、既存のオブジェクトをすべて1つのmongooseメソッドmySchema.find(err、response)で取得できます。そして、マングースを使用すると、手動で接続を開いたり閉じたりする必要はありません – JavaEvgen
ループを使用してヌルドックを調べたり、条件を入れたりしないでください({{key:{$ exists:true}}) –