expressを使ってwebアプリケーションを作っています。
DBはmongodbです。
そのアプリの中でmongodbに保存された「posts」というデータの一覧ページを作り、ページング機能をつけるために「express-paginate」と「mongoose-paginate」というモジュールを使っているのですが、どうしても以下のエラーが出てしまい、原因がわかりません。
お願いします。
エラー
Error: express-paginate: `pageCount` is not a number >= 0
post.js
post.js
1var mongoose = require('mongoose'); 2var mongoosePaginate = require('mongoose-paginate'); 3var paginate = require('express-paginate'); 4 5// スキーマ定義 6var postsSchema = new mongoose.Schema({ 7 title: String, 8 body: String 9}); 10 11postsSchema.plugin(mongoosePaginate); 12 13// モデルとして登録 14var posts = mongoose.model('posts', postsSchema); 15 16// レンダリング 17exports.index = function(req, res, next) { 18 posts.paginate({}, { page: req.query.page, limit: req.query.limit }, function(err, posts, pageCount, itemCount) { 19 20 if (err) return next(err); 21 22 res.format({ 23 html: function() { 24 res.render('posts/', { 25 posts: posts, 26 pageCount: 10, 27 itemCount: 3, 28 pages: paginate.getArrayPages(req)(3, pageCount, req.query.page) 29 }); 30 }, 31 json: function() { 32 // inspired by Stripe's API response for list objects 33 res.json({ 34 object: 'list', 35 has_more: paginate.hasNextPages(req)(pageCount), 36 data: posts 37 }); 38 } 39 }); 40 41 }); 42};
app.js
app.js
1 2app.use(paginate.middleware(10, 50)); 3 4app.get('/', post.index); 5
あなたの回答
tips
プレビュー