【发布时间】:2021-10-01 13:21:23
【问题描述】:
所以我有一个故事对象,我试图将它与故事数组进行比较,以查看故事对象是否在数组中。但是它不起作用,我不知道为什么。
//news.jade
each post in favPosts
div=post._id
div=object._id
if (post._id === object._id)
span same
else
span no
// the output (those are ObjectID from mongoose)
55e3e6dcd22670d8032a4ddf
55ef8999a89ed2fc72d8159f
no
55e3e6bbd22670d8032a4dde
55ef8999a89ed2fc72d8159f
no
55ef8999a89ed2fc72d8159f
55ef8999a89ed2fc72d8159f
no <=== this should be same
55ef8028283872046809c0f2
55ef8999a89ed2fc72d8159f
no
【问题讨论】:
-
您可以尝试将两者都类型转换为 mongo db 对象 ID 吗?
-
您可能需要使用
==而不是===,尽管它们似乎应该是相同的类型,因此不需要它。此外,您可能需要考虑一种更有效的比较检查方法,具体取决于您的使用方式。 (即:查找具有特定 id 的文章。如果您要对所有文章做某事,那么这可能无关紧要,您可以忽略最后一点。) -
你可以试试
div= typeof post._iddiv= typeof object._id看看他们的类型是什么?
标签: templates express mongoose pug