Ниже приведен упрощенный вариант документа в моей базе данных:Лучший ключ осколок (или оптимизированный запрос) для запроса диапазона на поддокументе массиве
{
_id : 1,
main_data : 100,
sub_docs: [
{
_id : a,
data : 100
},
{
_id: b,
data : 200
},
{
_id: c,
data: 150
}
]
}
Итак, представьте, у меня есть много этих документов с различными значениями данных (скажем, 0 - 1000). В настоящее время мой запрос что-то вроде:
db.myDb.find(
{ sub_docs.data : { $elemMatch: { $gte: 110, $lt: 160 } } }
)
Есть ли ключ осколка я мог бы использовать, чтобы помочь этому запросу? В настоящее время он запрашивает все осколки. Если нет лучшего способа структурирования моего запроса?
Благодарим вас за то, что нашли время, чтобы поделиться всей этой информацией. Все это очень полезно даже вне первоначальной сферы вопроса. Я думаю, что я попытаюсь использовать другой ключ осколка для своих данных (или составной ключ). –