在pymong中过滤文本搜索

2024-04-25 13:51:51 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有一种方法可以过滤pymongo文本搜索的结果。我有一个光标:

db.models.find(
            {'$text': {'$search': 'some_word'}},
            {'score': {'$meta': 'textScore'}})

但这会搜索整个集合,我只想搜索在某个字段上具有特定值的特定文档。

像这样:

^{pr2}$

我只希望文本搜索搜索在字段1上有“some\u value”的文档


Tags: 方法text文档文本dbsearchmodelssome
2条回答

它不会搜索整个集合。它使用文本索引。文本索引将$search中的词干术语与索引中的术语相匹配,后者精确地指示哪些文档包含这些术语。它不会扫描每个文档以查看哪个匹配。可以对文本匹配应用其他条件,如下所示:

> db.models.find({ "$text" : { "$search" : "some_word" }, "field1" : "some_value" })

相关问题 更多 >

    热门问题