Javascript Mongo:使用数组参数中的$对结果进行排序

Javascript Mongo:使用数组参数中的$对结果进行排序,javascript,mongodb,meteor,Javascript,Mongodb,Meteor,我有两个集合users和items和user.profile.savedItems是这样保存的项目数组:{“itemId”:“yHud5CWpdPaEc6bdc”,“added”:ISODate(“2014-09-12T22:28:11.738Z”)} 我试图做的是从用户配置文件中检索项目(该部分有效),并根据添加的日期对其进行排序 现在,这是我的代码: return {items: Items.find({_id: {$in: _.pluck(Meteor.user().profile.sav

我有两个集合usersitemsuser.profile.savedItems是这样保存的项目数组:{“itemId”:“yHud5CWpdPaEc6bdc”,“added”:ISODate(“2014-09-12T22:28:11.738Z”)}

我试图做的是从用户配置文件中检索项目(该部分有效),并根据添加的日期对其进行排序

现在,这是我的代码:

return {items: Items.find({_id: {$in: _.pluck(Meteor.user().profile.savedItems, 'item')}})};

我不知道是否可以使用常规的mongo语法。

您有两个选项:

  • 存储已排序的项目
  • 阅读后,在客户端对项目进行排序

  • 阅读未排序的项目,而不进行客户端排序是不可能的。

    谢谢您的回答。1.现在,我正在使用addToSet,我搜索并找到了$position操作符,但它似乎不适用于addToSet。虽然它们已经被自然分类了,但我需要的是相反的顺序。2.既然项目本身没有“添加”参数,我该怎么做呢?请检查是否按插入顺序存储数组。第三个选项:将这些项目放在单独的集合中,并使用Mongo对它们进行排序。因此我尝试按顺序插入,但meteor的minimongo似乎在mongodb后面,如果没有$each,$sort将无法工作。但我想到了别的。我是否可以创建一个新的“items”克隆集合,并通过映射相应的id为每个集合添加额外的属性“added”?