Может ли MongoDB использовать индекс при проверке существования поля с оператором $ существующие?
Если у меня есть данные в моемusers
Коллекция, которая выглядит как:
{ name: '...',
email: '...',
...,
photos: {
123: { url: '...', title: '...', ... },
456: { url: '...', title: '...', ... },
...
}
}
И я хочу найти, какой пользователь имеет идентификатор фотографии 127, а затем я использую запрос:
db.users.find( {'photos.127': {'$exists' => true} } );
Я пытался, но не представляется возможным заставить MongoDB использовать индекс для этого запроса. Индекс, который я попробовал, был:db.users.ensureIndex({photos:1});
, И когда я использовалexplain()
Монго сказал мне, что использует BasicCursor (то есть, индекс не использовался).
Можно ли создать индекс, который Монго будет использовать для этого запроса?