mongoose pagination

124 views
Skip to first unread message

Lazar Gubezkis

unread,
Jul 13, 2015, 7:31:57 PM7/13/15
to nod...@googlegroups.com
I'm trying to use the mongoose-paginate plugin: https://www.npmjs.com/package/mongoose-paginate

This is my code, but I'm getting an error: undefined is not a function
 
    var mongoose = require('mongoose'),
        mongoosePaginate = require('mongoose-paginate'),
        db = mongoose.connection;


/*********************************************************************************/
/* Connect to DB */
/*********************************************************************************/

mongoose.connect('mongodb://localhost/users');

db.on('error', console.error.bind(console, 'Connection error:'));
db.once('open', function (callback) {
    console.log('Connected to MongoDB!');
    var userSchema = mongoose.Schema({
        firstName: String,
        lastName: String,
        userName: String,
        password: String
    });
    
    
    userSchema.plugin(mongoosePaginate);

    userSchema.paginate({}, { // this is what's causing the error
        page: 2, limit: 1
    }, function(err, results, pageCount, itemCount) {
    console.log(results);
    });

});

Daniel Alberto Martinez

unread,
Jul 16, 2015, 10:51:58 AM7/16/15
to nod...@googlegroups.com

Paolo Nicorelli

unread,
Jul 17, 2015, 11:39:47 AM7/17/15
to nod...@googlegroups.com
Uhm... it seem the `paginate()` method apply to the model, not the schema:

    var mongoose = require('mongoose'),
        mongoosePaginate = require('mongoose-paginate'),
        db = mongoose.connection;


/*********************************************************************************/
/* Connect to DB */
/*********************************************************************************/

mongoose.connect('mongodb://localhost/mpaginate');


db.on('error', console.error.bind(console, 'Connection error:'));
db.once('open', function (callback) {
    console.log('Connected to MongoDB!');
    var userSchema = mongoose.Schema({
        firstName: String,
        lastName: String,
        userName: String,
        password: String
    });
    userSchema.plugin(mongoosePaginate);
    var User = mongoose.model('users', userSchema);
    var u = new User({
        firstName: "p",
        lastName: "p",
        userName: "p",
        password: "p"
    });
    u.save();


    User.paginate({}, { page: 1, limit: 1 }, function(err, results, pageCount, itemCount) {
        if(err){
        console.log("error");
        console.log(err);
    } else {
        console.log(results);
    }
    });

});

This chunck is working on my local
Reply all
Reply to author
Forward
0 new messages