0
offset: 1
はなぜですか?dbからの応答がオフセットされています。マップ関数を使用してすべての結果が返されるわけではありません。
私は1行のみがレスポンス内に存在するtotal_rows
が示すように、Cloudant
からの応答で2 rows
を見ることを期待し、そのいくつかの理由でオフセットです。
コンソール出力:
{ total_rows: 2,
offset: 1,
rows:
[ { id: '1e0a2d30d18d95b9bcc05d92c883d496',
key: '1e0a2d30d18d95b9bcc05d92c883d496',
value: [Object] } ] }
関数を呼び出すと、応答を処理:
viewImpl('test', 'something').then(function(result) {
result.rows.forEach(function(doc) {
console.log(doc.value);
});
res.status(200).send('done');
}
}).catch(someFunc());
機能DEF:Cloudant
で定義されて
App.prototype.viewImpl = function(designName, viewName) {
return new Promise(function(fulfill, reject) {
_this.db.view(designName, viewName, { keys: ["1e0a2d30d18d95b9bcc05d92c883d496","1e0ad30d18d95b9bcc05d92c883e272"] }, function(err, result) {
if (err) {
reject(err);
} else {
fulfill(result);
}
});
});
};
ビュー:
function(doc) {
emit(doc._id, { _id: doc._id, _rev: doc._rev, some_field: doc.some_field });
}