按内部对象字段排序及其性能

时间:2017-06-15 06:56:24

标签: mongodb sorting

我很困惑,很难做出不区分大小写的排序工作。所以我决定在小写的主文本字段之外添加第二个字段。 我正在使用C#驱动程序,在我的对象模型中,我有类似SortableString的东西,它包含原始和小写的字符串。问题是mongodb如何处理内部对象字段的排序?与根级别字段的排序相比,它的性能是否更差?任何推荐? (索引等)

更新

公共对象结构

"_id" : ObjectId("57ebda72844c4c08d4ad2832"),
"text" : {
    "_l" : "abc",
    "_o" : "Abc"
}

通用查询结构用于排序

db.Texts.find({}).sort({"text._l": 1}).skip(100).limit(50)

1 个答案:

答案 0 :(得分:1)

它会正常工作。

MongoDB很乐意让您index an embedded field这样,并且会对您的查询提供与索引顶级字段相同的性能改进。

在您的情况下,您可能会受益于以下索引:

Route::get('/test', function (){
    return 'Route test';
});

Route::get('/{title}',[
    'as' => 'projects',
    'uses' => 'FrontendController@show'
]);

您选择的索引取决于您将要运行的查询。