如何在多个字段上运行自动完成 $search?

Rod*_*aki 5 mongodb-atlas mongodb-atlas-search

文档指出path需要是一个string而不是一个字符串数组。我只是想确认这实际上是唯一的可能性,如果在任何一种情况下都有推荐的方法来做到这一点。

例如,我想搜索(带有自动完成),我的电影文本"hammer"上都titleplot

在当前场景中,我可以通过titleplot轻松实现搜索。但是如果我尝试对两者都这样做,制作path一个字符串数组,这在其他运算符上是可以接受的,我会收到一个错误

小智 15

如果您尝试匹配标题和情节,请使用should: in复合运算

在两个字段上创建自动完成搜索索引:标题绘图

$search: {
    compound: {
        should: [
            {
                autocomplete: {
                    query:'hammer',
                    path: 'title',
                },
            },
            {
                autocomplete: {
                    query:'hammer',
                    path: 'plot',
                },
            },
        ],
    },
},
Run Code Online (Sandbox Code Playgroud)