現在、エンドポイントにカールしているときに応答を取得することはできますが、1回だけ行うことができます。私のサーバーへの追加要求は、stream error: Stream already being consumed, you must either fork() or observe()
を引き起こします。複数回ストリームを使用してクエリを実行することができません
私のスタック:node、express、highlandjs、mongodb。
//server.js
app.get('/queries', query.calculateTotal);
//私のエンドポイント機能
var _ = require('lodash')
var sg = require("reactive-superglue")
var query = sg.mongodb("mongodb://localhost:27017/qatrackerdb").collection("test1")
exports.calculateTotal = function (err, res) {
query.find()
.collect()
.map(function(x) {
console.log(x)
return _.size(x)
})
.apply(function(x) {
return res.status(200).json(x)
})
}
サーバーの応答私のエンドポイントを打つにおける第二の試行後:curl -i -X GET http://localhost:3000/queries/
GET /queries/ 200 34.442 ms - 632
GET /queries/ - - ms - -
GET /queries/ 500 2.371 ms - 1998
Error: Stream already being consumed, you must either fork() or observe()
at Stream._addConsumer
calculateTotalが使用されているコードのビットを教えてください。 – Stefano