需要我使用Node js和Mongoose爲我的MongoDB構建的大型社交網絡提供幫助。來自人口稠密模型的貓鼬隨機和混合響應
我的想法是混合來自模型響應,表現出從類一個後該用戶之後,然後顯示其他的類別,用戶也被下面的帖子,然後顯示一個從組(私人類別)。同樣的3 + 1(3類+ 1組)帖子,但用戶可以關注很多類別,並且有很多組。
有什麼我可以用來從RANDOM類別+組獲得帖子? 我想在這裏沒有用Math
寫隨機邏輯發明了車輪所以這是我簡單的架構:
var userSchema = new Schema({
groups: [{type: Schema.Types.ObjectId, ref: 'Group'}],
followingCategories: [{type: Schema.Types.ObjectId, ref: 'Category'}]
});
var postSchema = new Schema({
user: {type: Schema.Types.ObjectId, ref: 'User'},
category: {type: Schema.Types.ObjectId, ref: 'Category'}
});
var categorySchema = new Schema({
user: {type: Schema.Types.ObjectId, ref: 'User'},
group: {type: Schema.Types.ObjectId, ref: 'Group'},
posts: [{type: Schema.Types.ObjectId, ref: 'Post'}]
});
var groupSchema = new Schema({
users: [{type: Schema.Types.ObjectId, ref: 'User'}],
categories: [{type: Schema.Types.ObjectId, ref: 'category'}]
});
,它必須通過用戶模型像可用:
User.findById(..., function(err, user){
//logic that gets user posts from random categories and groups
});
請注意以下幾點:
它必須要快(期待百萬張貼)
它採用
limit(10)
和skip(int)
的API延遲加載類別和組是隨機的,但帖子都是爲了
{created_at: desc}
用戶可以關注很多
categories
,可以在很多groups
。
請澄清一下,你的問題是什麼? –
@DianaHolland多重關係持有者的先進隨機函數是他正在尋找的東西,如果我理解得很好 –
@MladenJanjetovic爲什麼在第一次編輯時從OP中刪除了一些代碼?代碼可能與其他人有關... –