According to the mongodb docs ObjectId.valueOf() 现在应该返回 id 的字符串版本。
但是,我使用的是 mongoose (v3.8.12) 并且 valueOf() 函数正在返回一个对象。
我知道这在 mongodb v2.2 中发生了变化,但从那时起已经有一段时间了。
谁能解释为什么会这样?或者给我一些关于 Mongoose 行为的权威文档?
谢谢
最佳答案
您提供了指向 mongodb shell 文档的链接。
但是,您实际使用的是 node.js 实现,特别是 mongoose ORM 建立在 mongodb native driver 之上.而 mongodb-native
就其本身而言,正在使用 bson模块。
因此,您应该查看 mongoose
和 mongodb-native
文档,而不是 mongodb shell 文档:
这是一个documentation for ObjectId
class mongoose
和 mongodb-native
正在使用。
至于.valuOf()
方法,它是JavaScript Object prototype 的一部分并且与 mongoose
或 mongodb-native
无关。
关于mongodb - 为什么 Mongoose ObjectId.valueOf() 返回一个对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25208593/