Node.js 用猫鼬分页来填充
我尝试使用Node.js 用猫鼬分页来填充,node.js,mongodb,mongoose,mongoose-populate,Node.js,Mongodb,Mongoose,Mongoose Populate,我尝试使用npmmongoosepaginate获取数据,但populate不起作用 这是我的UsersSchema.js var mongoose = require('mongoose'); var Schema = mongoose.Schema; var usersSchema = new Schema({ name : String, created_at : { type : Date, default : Date.now } }); module.exports
npm
mongoosepaginate
获取数据,但populate不起作用
这是我的UsersSchema.js
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var usersSchema = new Schema({
name : String,
created_at : { type : Date, default : Date.now }
});
module.exports = mongoose.model('users',usersSchema);
这里是post schema
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var mongoosePaginate = require('mongoose-paginate');
var postsSchema = new Schema({
user : { type: Schema.Types.ObjectId, ref: 'users' },
post : String,
created_at : { type : Date, default : Date.now }
});
postsSchema.plugin(mongoosePaginate);
module.exports = mongoose.model('posts',postsSchema);
这是我的问题
var options = {
sort: { created_at: -1 },
lean: true,
offset: offset,
populate : 'users',
limit: 10
};
postsSchema.paginate({user:user},options,function(err,posts){
if(err){
console.log(err)
return false;
}
console.log(posts)
});
用户提供的objectID不是用户数据。
i、 e
一个人有以下几件事
Post.find({})
.populate([
// here array is for our memory.
// because may need to populate multiple things
{
path: 'user',
select: 'name',
model:'User',
options: {
sort:{ },
skip: 5,
limit : 10
},
match:{
// filter result in case of multiple result in populate
// may not useful in this case
}
}
])
.exec((err, results)=>{
console.log(err, results)
})
如果要使用mongoose paginate,可以执行以下操作
var query = {};
var options = {
sort: { date: -1 },
populate: 'users',
lean: true,
offset: offset,
limit: 10
};
Post.paginate({}, options, (err, result) => {
//....
})
厕所。happy coding bro.如果我想更进一步,通过用户名进行查询,例如,名为
(user.name)
的用户,有作品眼睛
内部查看答案,请怎么办
var query = {};
var options = {
sort: { date: -1 },
populate: 'users',
lean: true,
offset: offset,
limit: 10
};
Post.paginate({}, options, (err, result) => {
//....
})