流星-如何指定要返回和排序的字段?

Dayuloli

从MongoDB文档中,我知道您可以使用如下所示指定要返回的字段:

db.products.find( { qty: { $gt: 25 } }, { item: 1, qty: 0 } )

您可以使用 sort()

db.bios.find().sort( { name: 1 } )

但是,关于SO的几种 解决方案建议采用这种格式:

DrawingHistory.find({}, {sort: {time: -1}});
Aphorisms.find({}, {sort: {date_created: -1}});

所以我尝试了这些,但是没有一个起作用:

return Questions.find({}, {text: 1, options: 1}).sort({order: 1}); // Returns nothing
return Questions.find({}, {text: 1, options: 1}, {sort: {order: 1}}); // Doesn't work
return Questions.find({}, {sort: {order: 1}}, {text: 1, options: 1}); // Only first filter gets applied

示例文档/行:

{
    "options": [
        {
            "answer": "Answer I",
            "value": "A"
        },
        {
            "answer": "Answer II",
            "value": "B"
        },
        {
            "answer": "Answer III",
            "value": "C"
        },
        {
            "answer": "Answer IV",
            "value": "D"
        }
    ],
    "order": 1,
    "text": "Question A"
}

问题

那么,在Meteor中指定字段同时返回并进行排序的正确方法是什么

理查夫

您正在尝试使用mongo shell API查询,该查询与Meteor find API有所不同在Meteor中,所有选项都在第二个参数中传递:

Questions.find({}, {
    fields: {
        text: 1, 
        options: 1
    },
    sort: {
        order: 1
    }
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章