Javascript 对嵌套数组进行排序不会改变顺序
我使用以下结构定义了一个集合:Javascript 对嵌套数组进行排序不会改变顺序,javascript,mongodb,meteor,minimongo,Javascript,Mongodb,Meteor,Minimongo,我使用以下结构定义了一个集合: // Websites { _id: "adasdasda", title: "Site 1", comments: [{ text: "nice site 2014", createdOn: "Sat Dec 26 2014 11:28:57 GMT+0100 (CET)" }, { text: "nice site 2015", createdOn: "Sat De
// Websites
{
_id: "adasdasda",
title: "Site 1",
comments: [{
text: "nice site 2014",
createdOn: "Sat Dec 26 2014 11:28:57 GMT+0100 (CET)"
}, {
text: "nice site 2015",
createdOn: "Sat Dec 26 2015 11:28:57 GMT+0100 (CET)"
}]
}
我希望以适当的注释顺序显示此信息。这意味着在我的情况下,最新的评论第一
我尝试使用:
Websites.findOne({_id:this.params._id}, {sort:{"comments.createdOn": 1}});
以及:
但顺序保持不变——首先是最早的注释
知道我遗漏了什么吗?
排序
在文档级别工作
这将获取所有匹配的文档,根据子文档中的第一个条目(每个文档数组中第一个元素的创建时间)对它们进行排序,并返回列表中的第一个文档
因为您已经通过\u id
进行了查询,所以这种排序几乎是徒劳的
Meteor并不真正支持子文档反应性,因此您可以:
- (流星论坛讨论)
Websites.findOne({_id:this.params._id}, {sort:{"comments.createdOn": -1}});