如何将查询结果传递给pymongo中的第二个查询?

时间:2020-06-01 15:52:23

标签: python mongodb mongodb-query full-text-search pymongo

我的目标是运行一个涉及文本搜索的查询。以下是我的尝试:

from pymongo import MongoClient
from datetime import datetime
REMOTE_MONGO_URL = ""

mongo_connection = MongoClient(REMOTE_MONGO_URL)

xml_db = mongo_connection.some_string.some_other_string

#pprint(xml_db.index_information())


a = xml_db.find(
    {
        "source": "winterfell",
            'expiration_date': {
                '$gte': datetime.now().strftime('%Y-%m-%d')
            },

        "$text": {
                '$search': "ned cat john arya sansa"
            }
    },
    #hint='red_wedding'
)

print(a.count())

最初,当我运行查询时,它只运行了无限长的时间,并且我感觉到它没有使用正确的索引。因此,我尝试用$hint强加索引。但是,它失败,并提示我不能同时使用$text$hint

因此,我的计划是首先执行不使用文本搜索的初始查询(以便可以在其上使用$hint),然后对第一个查询的结果运行第二个文本搜索查询。我该怎么做?

0 个答案:

没有答案