#mongodb #indexing #range #nosql
#mongodb #индексирование #диапазон #nosql
Вопрос:
Я хочу выполнить запрос диапазона для нескольких столбцов. например:
db.dmnscore.find({цена: {$ lte: 10}, «обновлено»: {«$ gte»: новая дата(1304874799000)}, «оценка»: {«$ gte»: 0, «$ lte»: 1000}).sort({оценка: -1}) Возможно ли создать правильный составной индекс для этого запроса?
Спасибо
Ответ №1:
Проще всего протестировать это самостоятельно. Создайте индекс в свойствах, затем запустите этот запрос:
db.dmnscore.find({price:{$lte:10}, "updated" : {"$gte" : new Date(1304874799000)} ,"score" : {"$gte" : 0,"$lte" : 1000}).sort({score:-1}).explain()
обратите внимание на explain()
в конце. Если результат содержит, что Btree
у вас все хорошо, если результат содержит, что BasicCursor
индекс не использовался.