У меня возникли проблемы с заполнением данных, чтобы я мог выполнить некоторые тесты с ним.Получение пустых наборов данных при создании тестовых данных [MongoDB]
Ниже мой код:
for(i=0; i < 1000; i++){
db.companies.insert({company: "Company"+i, employees: [""], CEO: ""})
for(j=0; j < 50); j++){
db.companies.update({"companies.company": "Company"+i}, {$push: {"companies.employees":
"Employee"+Math.floor(Math.random()*500)}}, false, true)
}
db.companies.update({"companies.company": "Company"+i}, {$set: {"companies.CEO"
: "CEO"+Math.floor(Math.random()*10)}})
}
Идея заключается в том, что она создает 1000 компаний, и для каждой компании он выбирает 50 случайных сотрудников из 500, которые доступны (я понимаю, этот метод может привести к дублированию сотрудников , и это прекрасно). Затем он выбирает одного генерального директора для компании из 10 доступных.
Коллекция создается правильно, и название компании будет сгенерировано правильно, но список сотрудников пуст, а значение CEO пусто.
Выполняется запрос на основе динамического имени ({"company.company": "Компания" + i}) не разрешено или я просто что-то испортил?
Почему вы ищете для 'companies.company', когда имя поля было просто' company'? То же самое для нескольких других мест. Имя коллекции - 'компании', но вам не нужно повторять это в запросе/обновлениях. – WiredPrairie
Я думал, что видел несколько примеров, где это было сделано. Является ли company.company эквивалентом компании? – Ryan
См. Ответ ... решил объяснить, чем в комментариях. :) – WiredPrairie