Mongodb$在查询中,位于具有slaveook()的复制集上

Mongodb$在查询中,位于具有slaveook()的复制集上,mongodb,replication,Mongodb,Replication,我想知道:当我们在副本集环境中执行$in请求时,驱动程序上启用了slaveOkay()(如果我理解正确,基本上就是在不同的从机上拆分查询),mongo是否在从机之间本地拆分$in数组?提前谢谢 我不得不说不。为了在从属服务器之间有效地分割$in数组,必须在发送查询(客户端/驱动程序需要将查询有效地更改为多个查询)并将它们合并回完整结果之前对它们进行分割 使用slaveOk,它只将整个查询路由到一个成员,其中第一个选择是次要/非主要查询 如果您想(潜在地)在多台服务器上拆分此字段,那么您可以将$i

我想知道:当我们在副本集环境中执行$in请求时,驱动程序上启用了slaveOkay()(如果我理解正确,基本上就是在不同的从机上拆分查询),mongo是否在从机之间本地拆分$in数组?提前谢谢

我不得不说不。为了在从属服务器之间有效地分割$in数组,必须在发送查询(客户端/驱动程序需要将查询有效地更改为多个查询)并将它们合并回完整结果之前对它们进行分割

使用slaveOk,它只将整个查询路由到一个成员,其中第一个选择是次要/非主要查询


如果您想(潜在地)在多台服务器上拆分此字段,那么您可以将$in数组分组为更小的块,并执行多个并发查询。

我不得不说不。要在从属服务器之间有效拆分$in数组,必须在发送查询之前对其进行拆分(客户机/驱动程序需要有效地将查询更改为多个查询)并将它们合并回完整结果

使用slaveOk,它只将整个查询路由到一个成员,其中第一个选择是次要/非主要查询


如果您想(潜在地)在多台服务器上拆分,那么您可以将$in数组分成更小的块,并执行多个并发查询。

谢谢,这与我的想法差不多!谢谢,这与我的想法差不多!