我正在创建一个待办事项列表应用程序,我正在尝试包括自定义路线使用‘快速路线参数’。 在此之前,程序一直运行得很好,但是当我尝试引入这些自定义路径并将其记录到控制台,甚至将其添加到数据库时,第一条路径就会被添加两次或记录两次。 但是,后面添加的路径并不重复。
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”。 稍后,如果我添加“work”,“new”等路径,它们只添加(并打印)一次。 有时也会出现此错误:
BulkWriteError:E11000重复密钥错误集合:woldb.items索引:_id_dup密钥:{_id:ObjectId('5ef4ad2110f45d54f143fa19')}
我已经尝试删除数据库并重新启动,删除索引,甚至尝试使用新的数据库; 但问题似乎不在数据库中,因为即使不将其推送到数据库中,问题仍然存在。 我尝试重新编写整个代码,但问题仍然存在。
我也尝试过mongoose的findOne(),但是当我尝试打印给定路由是否存在时,对于第一个路由,它只打印了两次“exists”。
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
如果您不需要该列表,并且希望直接保存到数据库,请尝试使用
List.create({
name: customListName,
items: defaultItems
})