在NodeJs中。为什么我以错误的格式从mongodb.ObjectID获取值

时间:2014-11-09 09:21:42

标签: node.js mongodb objectid

var id = new mongodb.ObjectID("545e2fa90293a69004414ae9");
User.findById(id, function(err, user) {});

id value = "T^/©¦AJé"? 为什么呢?

请帮帮我!

1 个答案:

答案 0 :(得分:-1)

在我的代码中对mongodb毫无意义。您需要的是mongoose,您可以在其中使用var mongoose = require('mongoose');形式的语句将其带入代码中。

特别是,这是mongoose对预期id的描述: here

我的观点是,ObjectIDs是这样实现的:

var id = new mongoose.Types.ObjectId('545e2fa90293a69004414ae9');
console.log('the id is: ' + id);

现在你可以在控制台上看到预期的字符串(但是已经提到ObejectId不是字符串;它是一个对象,因为你可以使用typeof运算符轻松验证。)

这就是为什么我不确定您的代码在mongodb.ObjectId('....');中的含义。