发布网友 发布时间:2022-04-23 12:46
共1个回答
热心网友 时间:2022-04-10 17:04
源文档过滤可以在查询中控制原始JSON文档中的哪一部分会被返回。我们可以设置包含列或者排除列,通过模式匹配来过滤列名的访问路径即可。请记住,这仅仅可以节省从查询节点到调用客户端的带宽,而不能节省cpu时间和磁盘IO,除非使用fields的时候。这是因为当使用源文档过滤时,对于每一个查询结果我们仍然需要解析源文档,根据提供的模式去匹配,以确实返回值中应该包含这一列,或者排除这一列。但是在我们的优化计划中,它仍然是一个非常重要的方式,并且它使用非常容易,我们可以从它开启优化的第一步。
在1.0版本之前,有一个更广为人知的查询方式——partial fields,现在它已经过时了,已经被本文的源文档过滤替代。