【发布时间】:2016-02-02 22:45:15
【问题描述】:
研究论文应按作者姓氏排序。这是一个作者的 JSON 的样子:
{
"_id" : "ADnijjRpoWkTEGgkc",
"authors" : [
{
"lastName" : "Rahbaran",
"firstName" : "Amir"
}
],
"title" : "Bricolage revisted",
"outlet" : "Journal of Strategic Management",
"year" : "2017",
"abstract" : "dicta sunt explicabo. Nemo enim ..."
}
如果只存储一个作者,则相应的模板助手可以完美运行:
return Publications.find({}, {
sort: {"authors.lastName": -1}
}).fetch();
问题:在很多情况下,一篇研究论文有多个作者:
这将是 JSON:
{
"_id" : ObjectId("56b06047204a563ca4207e8e"),
"authors" : [
{
"lastName" : "Lennon",
"firstName" : "John"
},
{
"lastName" : "McCartney",
"firstName" : "Paul"
}
],
"title" : "The Beatles - revisted",
"outlet" : "Journal of Great Music",
"year" : "1968",
"abstract" : "Ob-La-Di, Ob-La-Da ... "
}
现在,我尝试sort: {"authors.lastName.0": -1} 或sort: {"authors.lastName[0]": -1} 无济于事。
我提出了 map、reduce 和 aggregate 的概念,但不知道如何分别在这里应用以及是否有必要。
或者也许 Meteor 有包或“技巧”?
非常感谢任何帮助。
【问题讨论】:
标签: javascript json mongodb sorting meteor