为什么mongoose ObjectId.valueOf()返回一个对象?

时间:2014-08-08 17:04:51

标签: mongodb mongoose

According to the mongodb docs ObjectId.valueOf()现在应该返回id的字符串版本。

但是,我正在使用mongoose(v3.8.12)并且valueOf()函数正在返回一个对象。

我知道这在mongodb的v2.2中有所改变,但从那时起已经有一段时间了。

任何人都可以解释为什么会这样吗?或者指出一些关于猫鼬行为的权威文件?

谢谢

1 个答案:

答案 0 :(得分:5)

您提供了mongodb shell文档的链接。

但是,您实际使用的是node.js实现,特别是mongoose ORM构建在mongodb native driver之上。而mongodb-native则使用bson模块。

因此,您应该查看mongoosemongodb-native文档,而不是mongodb shell文档:

以下是documentation for ObjectId class mongoosemongodb-native正在使用的内容。

至于.valuOf()方法,它是JavaScript Object prototype的一部分,与mongoosemongodb-native无关。