javascript中使用equals()的用户授权

javascript中使用equals()的用户授权,javascript,node.js,Javascript,Node.js,我制作了一个博客,用户只能编辑他们创建的博客。但现在我想做一个管理员,可以编辑和删除任何职位,他想要的 if(foundBlog.author.id.equals( req.user._id || foundBlog.author.username === "ADMIN" )) { next(); } else { res.redirect("back"); } 但是我的代码不起作用。equals()不是有效的字符串函数,除非您自己实现了它。如果你没有也不想

我制作了一个博客,用户只能编辑他们创建的博客。但现在我想做一个管理员,可以编辑和删除任何职位,他想要的

if(foundBlog.author.id.equals(
     req.user._id ||
     foundBlog.author.username === "ADMIN"
)) {
    next();
} else {
    res.redirect("back");
}
但是我的代码不起作用。

equals()不是有效的字符串函数,除非您自己实现了它。如果你没有也不想,你可以做一些简单的事情

String.prototype.equals = function(str){
   return this.toString() === str;
}
然后

"hello".equals("hello")  // gives true
"hello".equals("kitty") // gives false
然而,我建议不要毒害知名/内置对象的原型或任何共享的全球空间,因为这会导致灾难

话虽如此,我还是要进行严格的平等比较

if(foundBlog.author.id === req.user._id || foundBlog.author.username === "ADMIN")
没有伤害没有犯规。

我的代码不起作用。为什么呢会发生什么?