我使用ObjectIds获取存储在mongoose中的数组。通过控制台输出此数组后,我得到以下输出:
[ “5a5f7199105cc908e874d74b”, “5a5f9199105cc908e874d74b”]
同时从mongoose中获取不同的对象。如果我通过控制台(object.id)输出此对象的ObjectId,我得到以下输出:
5a5f7199105cc908e874d74b
我尝试检查数值是否包含在数组中。我的代码如下所示:
myArray.includes(myObject.id)
我希望得到真实的结果。不幸的是,即使值在数组中,我也会得到错误。也许它必须处理OBject类型?我真的不知道如何解决这个问题。感谢。
答案 0 :(得分:0)
因为在Array [“5a5f7199105cc908e874d74b”,“5a5f9199105cc908e874d74b”]的情况下 - typeof值是String,所以你使用字符串操作,而当你使用object属性(myObject.id)操作时 - 你可能使用{{ 3}},这是最新MongoDB的默认值。无论如何,我们需要查看你的代码并知道你的数据库版本等。最简单的检查方法是运行代码“typeof myObject.id”,如果你看不到“string” - 这是你问题的答案。