我一直在探索Atlas搜索,并使用它的索引对数据进行搜索,但在使用管道中的"$search“操作符之前,我希望在此之前使用一个过滤器来缩小数据范围。但MongoDB不允许这样做。在使用$match之前,是否可以使用$search或任何其他操作符来缩小数据范围和提高性能?
发布于 2021-12-16 14:31:55
因此,答案是否定的,正如文档中所指定的那样
$search必须是它出现在任何管道中的第一阶段。
这是因为$search
必须使用“特殊”文本索引atlas search
构建,一旦将结果加载到内存中,就不能再使用它了。
不幸的是,没有工作或“黑客”你可以使用,我建议考虑为什么你需要这样的用法,因为它听起来有点反模式。
https://stackoverflow.com/questions/70377464
复制相似问题