2016-02-29 82 views
0

我有一個User模型,和兩個不同的關聯模型Profile,WorkProfileprofile模型包含有關用戶線路名稱,電子郵件,家庭地址e.t.c,workprofile的一般信息,包含當前辦公地址,辦公室電話,辦公室電子郵件e.t.c等詳細信息。用戶模型存儲這兩個的objectID,並用profileworkprofile鍵表示它們。如何分頁合併貓鼬結果?

現在我正在嘗試構建的是基於這些關聯模型中字段的用戶模型的高級搜索。我看到的一種方法是分別查詢它們,然後使用_.concat來加入結果。但問題是我無法實現skiplimit最終的結果,以得到適當的分頁。用適當的分頁方式做這件事最好的辦法是什麼?

回答

0

而不是使用在個人ref和workprofile您可以將它添加到用戶像波紋管,這允許使用查找方法與profile.name

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: '[email protected]'} 
}); 

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 
    } 
}); 

這可能不總是好主意,但它是可能的。