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