我在尝试填充数据以便可以使用它执行一些测试时遇到问题。
以下是我的代码:
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)}})
}
它的想法是创建 1,000 家公司,并为每家公司从 500 名可用的员工中随机选择 50 名(我意识到这种方法可能会导致员工重复,这很好)。然后,它会从 10 位可用的 CEO 中为公司选择一位。
该集合似乎已正确创建,并且将正确生成公司名称,但员工列表为空且 CEO 值为空。
是否不允许基于动态名称 ({"companies.company": "Company"+i }) 进行查询,或者我只是在某个地方搞砸了?