Предположим, у нас есть коллекция Монго упоминается нижеИспользуется ли по умолчанию _id_ index для mongoquery?
db.test.findOne() { "_id": ObjectId ("52d0313dc62b629cfabe22ff"), "а": 1, "Ъ": 1, «с ": 1}
и эта коллекция насчитывает более миллиона записей.
теперь, если я хочу, чтобы выяснить, записи с условием в поле «в» более чем 1000 и поле «б» меньше, чем 9000 тогда мой Монго запрос может быть как ..
db.test.find ({'a': {'$ gt': 1000}, 'b': {'$ lt': 9000}}, {'a': 1, 'c': 1}) и сделать более быстрый поиск быстрее , я уже применил составной индекс на поле «a» & «b». и использовался выше запрос ..
сейчас, здесь, как вы должны знать, все коллекции поставляются с индексом по умолчанию на «_ ид _» поле первичного ключа.
делает мою выше Монго запрос индекса используется по умолчанию «_ идентификатора _»? если да, то как? и если нет, то почему?
благодарит вас javaamtho
Вы можете уточнить свой вопрос? Вы уже сказали, что запрос использует составной индекс, который вы создали, а не индекс на '_id'. – JohnnyHK
Используйте 'explain', чтобы определить, какие индексы используются. Индекс '_id' не будет использоваться, если он не указан в вашем запросе. – WiredPrairie
@JohnnyHK yes .using explain(), я могу видеть, что мой составной индекс используется, но делает ли mongo значение индекса _id_ по умолчанию для какой-либо цели? как я могу увидеть более двух индексов, если мой двигатель монго использовал его внутри? мой вопрос сложный, но как вы его получите сейчас. – javaamtho