MongoDB中的标签自动完成

时间:2019-01-28 21:11:16

标签: mongodb autocomplete

我有一个tags数组的文档集合,包含0+个字符串。

我想提供按标签UI搜索字段,该字段可自动完成有效标签。这将通过具有所有这些标签的集合(实质上是标签字段的索引)并在该字段中键入每个字符时进行{tags:{$regex:/^ro/}}来完成。键入时,将显示有效的标签,例如“ rome”,“ role”等。

一旦在UI中指定了一些标签,用户就会执行实际搜索,其中包括标签在内,并执行正则find表达式。 我不想在标签字段中进行文本搜索,因此请不要这么做。

换句话说,对于标记自动完成,我不需要对标记文档的引用,我只需要一个与正则表达式匹配的标记列表即可。

我是否需要维护自己的标签集合,或者可以为此使用tags索引?

1 个答案:

答案 0 :(得分:0)

我为此找到了一种解决方案:

$ perl6 dummy.pl
OLD: array      1 2 3
hash    a       1
b       2
scalar  1
NEW: array      1 2 3
hash    a       1
b       2
scalar  1

它确实给了我所需的结果,尽管我不确定是否有更好的查询形式。性能似乎并不比不按我想要的方式压缩结果的类似查询差。