嵌套的for循环无法正常用于数据比较

时间:2019-05-15 08:26:55

标签: node.js mongodb for-loop

我想在mongodb集合中存储数组中的唯一值(文档/行)。为此,我要获取整个字段,并使用嵌套的for循环将数组的每个值与获取的字段的每个值进行比较。但是我的代码有很多问题。我在下面列出,

1.unique值未存储在数据库中。

if condition内的

2.code每次都会执行,并在显示console()时最多显示一次console.log("found"),最多显示920次。但是最大数组的长度是300。我无法获取该错误。这段代码在map系列内部,我附上图像以供参考。请帮助

  dbo.collection("Unique_data").find({}, {projection: {_id: 0, App_Id: 1}}).toArray(function (err, res) {
            if (err) {
                throw err;
                console.log(err);
            } else {
                var new_app_obj;
                var current_appID;
                var found = 0;
                for (var i = 1; i <= resulted_ids.length; i++)
                {
                    // console.log(current_appID);
                    current_appID = resulted_ids[i - 1];

                    for (var j = 1; j <= (res.length) && (found = 1); j++)
                    {
                       // console.log(current_appID);
                       // console.log(res[j - 1].App_Id);
                        if (current_appID === (res[j - 1].App_Id))
                        {
                            found = 1;
                            console.log("found");
                        }
                    }
                    if (found === 0)
                    {
                        new_app_obj = {App_Id: current_appID, Status: 0,
                            Insertion_Date: currentDate, Rating_Status: "unknown",
                            Checked_for_Updates: "0"};
                        dbo.collection("Unique_data").insertOne(new_app_obj, function (err, res) {
                            if (err) {
                                throw err;
                            } else {
                                // console.log("I row inserted");
                            }
                            //db.close();
                    });  //we can add multiple collection code here
                   console.log("I row inserted");
               }//
                }
            }
            db.close();

        });
  

输出1

enter image description here

  

输出2

enter image description here

enter image description here

  

完整代码。 1

enter image description here

  

2

enter image description here

0 个答案:

没有答案