对于两个相等的值,逻辑比较返回false

时间:2017-04-24 14:41:21

标签: javascript node.js mongodb

所以我试图在MongoDB中比较两个_id。我使用逻辑运算符false来比较它们。两个值都是相同的,但它返回select users.username,users.photo, questions.*, (Select count(*) from answers where answers.q_id=questions.id) as aAccount from questions INNER JOIN users ON users.id=questions.user_id 并且它让我疯狂。

任何人都知道可能出了什么问题?

Thx

Those to are the logged id's and false return value

3 个答案:

答案 0 :(得分:2)

这是因为 _id 实际上是 ObjectId 类型。为了比较两个 ObjectId ,您应该使用equals method。或者,你可以"演员"使用 toString 方法将字符串转换为字符串。

答案 1 :(得分:0)

Ids具有相同类型的值?字符串,整数等......?

只是尝试比较您的值,不要检查类似==运算符

的类型

答案 2 :(得分:0)

三等于===或(严格等于)执行深度检查。

两个操作数必须是return true的确切类型,否则它将返回false,不应用类型强制。

如果您确定它们等于return false,则意味着您可能会无意识地应用类型强制。