Может ли 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 (то есть, индекс не использовался).

Можно ли создать индекс, который Монго будет использовать для этого запроса?

Ответы на вопрос(3)

Ваш ответ на вопрос