2017-06-29 8 views
1

誰かが私にこの質問から応答できますか?count()と1つの結果のリストを返すことができますか?jsonで複数の結果が返される

アレイ[オブジェクト、オブジェクト、オブジェクト、オブジェクト、オブジェクト]

router.get('/products', function (req, res) { 

    var size = parseInt(req.query.pageSize); 

    if (req.query.pageNumber == 1) { 
    var page = 0; 
    } else { 
    var page = parseInt(req.query.pageNumber) * req.query.pageSize - req.query.pageSize; 
    } 

    Product.count() 
    .exec(function (err, products) { 
     if (err) { 
     res.status(404).json({ 
      message: 'Can not download this list' 
     }) 
     } else { 
     Product.find().skip(page).limit(size) 
      .exec(function (err, products) { 
      if (err) { 
       res.status(404).json({ 
       message: 'Can not download this list' 
       }) 
      } else { 
       res.json(products); 
      } 
      }) 
     } 
    }) 
}); 
+2

これは**あなたがそれを行う方法です。これは、常に各データベースエンジンで行う方法です。あなたは本当にばかげたことをせずに結果の「ページ」内に総カウントを含めることはできず、結果セット全体を1つのドキュメントに縮小しようとすることはできません。これはMongoDBで実際にBSON制限を破ります。約束を使用してネスティングをクリーンアップすることができます。しかし、あなたの基本的な出力は 'res.json({" count ":count、" products ":products})'でなければなりません。 –

+0

あなたは、データベースからの文書の総数と制限された文書が応答したがっていることを意味しますか –

答えて

1
:現時点ではその唯一の制限で私に配列を返すので

は、私はすべての製品の、制限なし)(カウントしたいです

あなたはこの方法でそれを行うことができます:

res.json({ "key1": value1, "key2": value2}) 
関連する問題