Javascript 如何在mongoose中对组合结果进行分页?
我有一个Javascript 如何在mongoose中对组合结果进行分页?,javascript,node.js,mongoose,pagination,Javascript,Node.js,Mongoose,Pagination,我有一个用户模型和两个不同的关联模型配置文件,工作配置文件。profile模型包含有关用户线路名称、电子邮件、家庭地址e.t.c的一般信息,workprofile包含当前办公室地址、办公室电话、,office email e.t.c.用户模型存储这两个对象的objectID,并使用profile和workprofile键引用它们 现在,我试图构建一个基于这些关联模型中的字段的用户模型高级搜索。我看到的一种方法是分别查询它们,然后使用\uu.concat加入结果。但问题是我无法对最终结果执行跳过或
用户
模型和两个不同的关联模型配置文件
,工作配置文件
。profile
模型包含有关用户线路名称、电子邮件、家庭地址e.t.c的一般信息,workprofile
包含当前办公室地址、办公室电话、,office email e.t.c.用户模型存储这两个对象的objectID
,并使用profile
和workprofile
键引用它们
现在,我试图构建一个基于这些关联模型中的字段的用户模型高级搜索。我看到的一种方法是分别查询它们,然后使用
\uu.concat
加入结果。但问题是我无法对最终结果执行跳过
或限制
,以获得正确的分页。正确分页的最佳方法是什么?不必在配置文件和工作配置文件上使用ref
,您可以像下面这样将其添加到用户中,这样就可以对profile.name
等使用find方法
var ProfileSchema = mongoose.Schema({
name: String
});
var WorkProfileSchema = mongoose.Schema({
email: String
});
var UserSchema = mongoose.Schema({
profile: ProfileSchema,
work_profile: WorkProfileSchema
});
var User = mongoose.model('User', UserSchema);
var user = new User({
profile: {name: 'Molda'},
work_profile: { email: 'my@email.com'}
});
user.save(function(err, u) {
User.findOne({'profile.name':'Molda'},function(err, user) {
console.log('user', user);
})
});
甚至使用简单的对象
var UserSchema = mongoose.Schema({
profile: {
name: String
},
work_profile: {
email: String
}
});
这可能并不总是一个好主意,但这是可能的