0

To Do リスト アプリを作成しており、'Express Route Parameters' を使用してカスタム ルートを含めようとしています。この時点までプログラムは問題なく動作していましたが、これらのカスタム パスを導入してコンソールにログを記録したり、データベースに追加しようとするとすぐに、最初のパスが 2 回追加されるか、2 回ログに記録されます。ただし、後で追加されたパスは複製されません。

app.get("/:customListName", function(req,res)
{
    console.log(req.params.customListName);
    /*const list = new List
    ({
        name: customListName,
        items: defaultItems
    });

    list.save();*/

});

たとえば、追加されたカスタム パスの名前が「home」、つまり「localhost:3000/home」で、パスの名前を console.log に記録しようとすると、「home」が 2 回出力されます。後で「work」、「new」などのパスを追加すると、それらは一度だけ追加(および印刷)されます。時々、このエラーも発生します:

BulkWriteError: E11000 duplicate key error collection: wolDB.items index: _id_ dup key: { _id: ObjectId('5ef4ad2110f45d54f143fa19') }

データベースを削除して、新たに開始し、インデックスを削除しようとしましたが、新しいデータベースでも試しました。しかし、データベースにプッシュしなくても問題が解決しないため、問題はデータベースにないようです。全体を新たにコーディングしてみましたが、問題は解決しません。

私はマングースのfindOne()も試しましたが、指定されたルートが存在するかどうかを出力しようとすると、最初のルートでは「存在します」と2回出力されます。

List.findOne({name: customListName}, function(err, foundList)
    {
        if(!err)
        {
            if(!foundList)
                console.log("Doesn't exist");
            else
                console.log("Exists");
        }

    });

GitHub リンクは次のとおりです: https://github.com/sebanti10/todolist.git

4

2 に答える 2