Mongodb 在迁移出PARSE之后:我们可以对primary进行$hint查询或二次查询吗?

Mongodb 在迁移出PARSE之后:我们可以对primary进行$hint查询或二次查询吗?,mongodb,parse-platform,Mongodb,Parse Platform,我在一个月前将数据库从Parse中迁移出来,我们设法优化了大多数查询,使其中一些查询的工作速度提高了20倍,但我们有一个未解决的优化问题: 我们有一个相当大的房间 {$query: {"_id": $in {array of ids}, "_updated_at": {$lt:...} , $orderby: "_updated_at":-1} 针对我们的云代码中的_用户集合(在云函数中)。速度慢的原因是,对文档使用了索引$query,而不是$orderby阶段。这是一个B-树限制(更多

我在一个月前将数据库从Parse中迁移出来,我们设法优化了大多数查询,使其中一些查询的工作速度提高了20倍,但我们有一个未解决的优化问题:

我们有一个相当大的房间

{$query: {"_id": $in {array of ids}, "_updated_at": {$lt:...} , 
 $orderby: "_updated_at":-1} 
针对我们的云代码中的_用户集合(在云函数中)。速度慢的原因是,对文档使用了索引
$query
,而不是
$orderby
阶段。这是一个B-树限制(更多是作为设计工作)

要使查询同时使用
$query
$orderby
的索引,我们需要应用一个以
\u updated\u at
字段开始的索引,而不是
\u id
字段,但是当_id数组为中小型时,此索引将不足。当
\u id
数组超过某个值时,建议使用
$hint
,但由于parse不支持该功能,因此我们无法使用它


另一种方法是对该查询使用辅助读取,但我不确定解析服务器是否支持它。解析中是否有一种标志,允许使用
ReadPreference对二级而不是一级运行查询?
您能帮我解决这个问题吗?

问题有我的+1。为了让解析服务器更好地与MongoDB交互,这两个特性都很重要。ReadPreference将通过在二级数据库上定向一些查询来允许读取扩展。提示将允许应用程序指示数据库在优化器没有选择最佳索引的少数情况下使用哪个索引。为了让解析服务器更好地与MongoDB交互,这两个特性都很重要。ReadPreference将通过在二级数据库上定向一些查询来允许读取扩展。提示将允许应用程序指示数据库在优化器没有选择最佳索引的少数情况下使用哪个索引。