Javascript MongoDB JS脚本只运行一个循环
我使用下面的脚本在我的数据库中生成测试对象Javascript MongoDB JS脚本只运行一个循环,javascript,mongodb,Javascript,Mongodb,我使用下面的脚本在我的数据库中生成测试对象 var numberOfTeams = 3; var membersPerTeam = 1; function generateMembers() { var arr = []; for (i =0 ;i < membersPerTeam; i++) { var randomNumber = Math.floor((Math.random() * 10) + 1).toString(); var
var numberOfTeams = 3;
var membersPerTeam = 1;
function generateMembers() {
var arr = [];
for (i =0 ;i < membersPerTeam; i++) {
var randomNumber = Math.floor((Math.random() * 10) + 1).toString();
var isAdmin = false;
if (i ==0 ) {
isAdmin = true;
}
arr.push({
"memberId": randomNumber,
"admin": isAdmin,
"name": "member" + randomNumber ,
"email" : "member" + randomNumber + "@test.com"
});
}
return arr
}
for (var i =0; i<numberOfTeams; i++) {
db.team.insert({
"teamName": "test-team-generated" + i,
"members": generateMembers(),
"credits" : NumberInt(5000),
"maxTeamSize": NumberInt(membersPerTeam)
})
}
var numberOfTeams=3;
var membersPerTeam=1;
函数生成器成员(){
var-arr=[];
对于(i=0;i 对于(var i=0;i您的代码中有一个嵌套循环,该循环不应该存在,因为在一个循环中,您正在调用一个具有另一个循环的函数generateMembers()
。
在运行insert操作之前,您需要以填充变量的方式分隔调用。您还可以通过单个操作插入文档数组
以下示例重构代码:
function generateMembers(membersPerTeam) {
var arr = [];
for (i =0 ;i < membersPerTeam; i++) {
var randomNumber = Math.floor((Math.random() * 10) + 1).toString();
var isAdmin = false;
if (i ==0 ) {
isAdmin = true;
}
arr.push({
"memberId": randomNumber,
"admin": isAdmin,
"name": "member" + randomNumber ,
"email" : "member" + randomNumber + "@test.com"
});
}
return arr
}
var docs = [],
membersPerTeam = 3,
members = generateMembers(membersPerTeam);
for (var i =0; i<numberOfTeams; i++) {
docs.push({
"teamName": "test-team-generated" + i,
"members": members,
"credits" : NumberInt(5000),
"maxTeamSize": NumberInt(membersPerTeam)
});
}
db.team.insert(docs)
函数生成器成员(membersPerTeam){
var-arr=[];
对于(i=0;i