我的目标是运行一个涉及文本搜索的查询。以下是我的尝试:
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
),然后对第一个查询的结果运行第二个文本搜索查询。我该怎么做?