2013-07-26 85 views
0

排序嵌套文件这是我的架构:在MongooseJS

var Review = new Schema({ 
    user: {type: ObjectId, ref:'User'}, 
    lastModified: {type: Date, default: Date.now } 
}); 

var Subject = new Schema({ 
    name: String, 
    review: [Review], 
    ... 
}); 


The query will return all the subjects with review from a user. 

{'review.user': id} 是否有可能基于review.lastModified排序结果?

Subject.find({'review.user': id}).select('name').sort('???').exec(function(err, subjects){ 
    if (err) return res.json(error); 

    console.log('subject', subjects); 
}); 
+0

假设文档是Subject1 [[review1(10),review(2)]],Subject1 [[review1(3),review(4)]],我将使用一个数字作为简化日期,所以你的预期结果是什么?因为Subject包含多个日期,您只能根据一个日期对它们进行排序,所以我认为它没有意义。 – zsong

+0

我的意思是在评论中的日期 –

+0

'评论:[评论]'意味着一个嵌入的'评论'文档阵列,所以@sza说,这没有什么意义。 – JohnnyHK

回答

1

您无法使用MongoDB在文档中进行排序。文档内的排序必须在应用程序级完成。