簡體   English   中英

Node.js中mongodb數組的嵌套循環

[英]Nested loops for mongodb arrays in Node.js

嘿所以我是Node.js和Mongodb的新手,我正在建立一個名冊創建系統,我想做到這一點,只有兩個用戶/員工可以在給定的班次上工作。 為簡單起見,班次分為“白天”和“夜晚”,這些都在用戶可以選擇的單選按鈕表中。 但是我想要禁用那些已被其他兩個用戶選擇的按鈕。

我認為外部循環應該迭代用戶的移位數組(星期一 - >星期日),然后內部循環應該遍歷mongodb數據庫中的每個用戶。 最終我希望代碼能夠在一周中的每一天工作,但現在只需要周一才能正常運行。

感謝您的幫助和建議

function disableOnLoad() {
    console.log("disableOnLoad reached");
    var dayCount=0;           
    var nightCount=0;
    $.getJSON( '/shiftsTable', function( data ) {
        $.each(data, function(){
            userListData = data;         
        for(i = 0; i < 7; i++) { 
            **//$.each(data, function(){**
            if(this.shifts[i]=='day'){
             if(i==0){
                dayCount++;
                console.log("dayCount: "+dayCount);  
                if(dayCount>2){document.getElementById("monDay").disabled=true;}
             }
            }
            else if(this.shifts[0]=='night'){
                nightCount++;
                if (nightCount>2){document.getElementById("monNight").disabled=true;}
            } 
            }
            });
    });
};

假設這是數據

    data = [{
    "_id": "589f60999c471a32c6a3a380",
    "name": "Ciara",

    "position": "Sales assistant",
    "location": "Dublin",
    "admin": 0,
    "shifts": ["day", "day", "night", null, null, null, null, "23"]
  },
  {
    "_id": "589f60999c471a32c6a3a380",
    "name": "Ciara2",

    "position": "Sales assistant",
    "location": "Dublin",
    "admin": 0,
    "shifts": ["day", "day", "night", null, null, null, null, "23"]
  },{
    "_id": "589f60999c471a32c6a3a380",
    "name": "Ciara3",
    "position": "Sales assistant",
    "location": "Dublin",
    "admin": 0,
    "shifts": ["day", "day", "night", null, null, null, null, "23"]
  }];

所以這段代碼對我有用

     $.each(data, function(val) {

    userListData = data;
    for (i = 0; i < 7; i++) { //* * //$.each(data, function(){**
      if (i==0 && this.shifts[i] == 'day') {
          dayCount++;
          if (dayCount == 2) {
            document.getElementById("monDay").disabled = true;
          }
      } else if (i==0 && this.shifts[i] == 'night') {
        nightCount++;
        if (nightCount == 2) {
          document.getElementById("monNight").disabled = true;
        }
      }
    }
  });

}

如果有效,請告訴我。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM