Подтвердить что ты не робот

Есть ли разница в производительности для вложенного документа в запросе mongodb

Если я создаю индекс для поля имени пользователя, какой документ лучше для запроса конкретного пользователя?

Вложенный:

 {
        account:{
        username:'zhengyi',  
        passwd:'zhengyi',
        friends:[]
        }
        dev:{
            os:'iOS',
            ver:'6.0',
            hw:'iPhone2,1'
        },
        app:{
            ver:'1.0',
            pver:'1.0'
        }
    }

Неустранимый:

  {    
        username:'zhengyi',
        passwd:'zhengyi',
        friends:[],
        dev:{
            os:'iOS',
            ver:'6.0',
            hw:'iPhone2,1'
        },
        app:{
            ver:'1.0',
            pver:'1.0'
        }
    }
4b9b3361

Ответ 1

Это не имеет значения
Вы либо делаете:

db.collection.findOne({"username":"zhengyi"});

или

db.collection.findOne({"account.username":"zhengyi"});

Прочитайте dot notation для встроенных документов

Аналогично, индексы используют точечную нотацию для доступа внутри документа:

db.collection.ensureIndex({"username": 1});

Или

db.collection.ensureIndex({"account.username": 1});