2

MongoDB と Mongoose を使用して REST サービスの簡単なページネーションを作成しようとしています。これが私が今やっている方法です。

ご覧のとおり、「次の」変数で 0 を送信していますが、結果がなくなったときに 0 を送信したいだけです。結果が終わり、もう何も得られない場合、どうすれば取得できますか?

   var user = User.find(
    {},
    {},
    {skip: skip, limit: limit},
    function(err, docs) {
        if (!err) {
            res.json({users: docs, next: 0} );
        } else {
            throw err;
        }
    });

ありがとう!

PS: node.js と Express を使用しています。

4

2 に答える 2

0

これを試して:

if ( !docs ) {
  res.json({users: [], next: 0});
}
于 2012-09-28T19:02:27.203 に答える
0

質問が正しければ、次のクエリのために残りのドキュメントの量を送信します。そうであれば、limit * 2でクエリできますが、「limit」ドキュメントのみを返し、docs.lengthからlimitを差し引くと、量が取得されます。次のクエリのための残りのドキュメントの。

より高度なクエリを使用したより良い解決策があるかもしれません。

于 2012-09-28T19:24:20.283 に答える