Я не уверен, что у меня есть правильный словарь, чтобы описать ошибку, с которой я столкнулся со мной.Mongo text index не заканчивается, когда ничего не возвращается
Вот общая схема для документов в моей коллекции
{
_id: ObjectId(),
name: String,
business: String,
address: {
search_type: Character,
address: String,
city: String,
state: String,
zip: Number
}
}
Я хотел искать на основе address.search_type
поэтому я создал текстовый индекс для этого поля в моей коллекции.
{
v: 1,
key: { _fts: 'text', _ftsx: 1 },
name: 'address.search_type_text',
ns: 'admin.customer',
default_language: 'none',
weights: { 'address.search_type': 1 },
language_override: 'language',
textIndexVersion: 3
}
Теперь я знаю, что мои данные должны действительно только C, G, T или как тип поиска, и когда я запускаю найти запрос на эту коллекцию с одним из поддерживаемых search_types запрос выполняется только штрафом.
db.collection('blah').find({'address.search_type':'C'}).limit(10).toArray(function(err, result){
if(err) console.log(err);
else console.log(result[0]);
db.close();
});
Но когда я запускаю этот запрос с address.search_type
, которая должна возвращать 0 документы мой запрос или никогда не заканчивает или времени ожидания.
db.collection('blah').find({'address.search_type':'Z'}).limit(10).toArray(function(err, result){
if(err) console.log(err);
else console.log(result[0]);
db.close();
});
Почему мой запрос не завершит выполнение/тайм-аут, если предполагается, что у него есть 0 документов, но отлично работает, когда он может найти документы?