mon goose запрос внутри цикла for - PullRequest
0 голосов
/ 14 июля 2020

Привет, ребята, утром я задал отдельный вопрос. Я не получил много ответов. Оттуда я потратил массу времени на изучение async / await, обещаний и обратных вызовов, чтобы понять, в чем я ошибаюсь. Однако я все еще немного запутался, как go выполнять мои logi c. Вот мое требование

  1. Мой ввод - это строковый массив этой формы ["player1", "player2", "player3" .... "player10"]
  2. Я работает два цикла for. Первый для l oop начинается с 0 и до конца массива, а второй для l oop начинается с позиции 1. Идея состоит в том, чтобы собрать пары вместе. Итак, игрок 1 и игрок 2 вместе. затем игрок 1 и игрок 3, так далее и так далее. 1012 *
  3. Мне нужно go в другую мон go коллекцию с парой игроков и что-то проверить.
  4. Исходя из определенного условия, мне нужно сохранить каждую пару в другой коллекции.

Я использую mon goose findOne для запроса. Я хочу, чтобы весь l oop работал синхронно, то есть передавал каждую пару за раз, не выполняя сначала for l oop. Однако я не знаю, как выполнить этот запрос mon goose синхронно.

Я также использую NODE js

Кто-нибудь может мне помочь?

for (let i=0; i<namearray.length-1;){
                player1 = namearray[i];
                console.log('Hi I am here 4')
                console.log("Hi i am Player 1", player1)
                for(let j=0; j<namearray.length;){
                  if(j <= i){
                         j = i;
                         j++;
                         continue;
                       }
                       player2 = namearray[j]
                       console.log('Hi I am here 5')
                       console.log("Hi i am player 2", player2)
                       tournamentMatchRegister.findOne({$and:[{$or:[{Player1_Name : player1}, {Player2_Name : player2}]},
                              {$or:[{Player1_Name : player2}, {Player2_Name : player1}]}]},function(err,data9){
                                console.log('Hi I am here 6')
                                //console.log(data9)
                                console.log("Hi i am ", player1)
                                console.log("Hi i am ", player2)
                                //if(data2.Match_Completed === "No"){
                                  var newpotentialmatch = new scheduleRegister({
                                  //  Week_Number: weeknumber,
                                    Player1_Name: player1,
                                  //  Player1_Team: data2.Player1_TeamName,
                                  //  Player1_Seed: data2.PlayerSeedLevel,
                                    Player2_Name: player2,
                                  //  Player2_Team: data2.Player2_TeamName,
                                  //  Player2_Seed: data2.PlayerSeedLevel
                                  }); newpotentialmatch.save(function(err,data3){
                                    if(err){
                                      console.log(err)
                                    }
                                  })
                              })
                                                //  })

                j++
                }
              i++
            }

1 Ответ

0 голосов
/ 14 июля 2020

for l oop завершится, если вы не выйдете из него. Если я понимаю, что вы пытаетесь сделать, я думаю, что использование обратных вызовов будет шагом вперед. Я думаю, что некоторые из ответов здесь могут помочь: Создание mon goose. js запросы выполняются синхронно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...