我的 REST API 有问题。它不会与 mongodb 正确通信。Node.js 抛出以下异常:
错误:传入的参数必须是 12 个字节的单个字符串或 24 个十六进制字符的字符串
我的经理如下所示:
app.get('/users/:id', function(req, res) {
userProvider.fetchUserById(req.params.id, function(error, user) {
if (user == null) {
res.send(error, 404);
} else {
res.send(user);
}
});
});
我的提供者如下所示:
this.fetchUserById = function(id, cb) {
this.db.collection(usersTable, function(error, users) {
if (error) {
cb(error, null);
} else {
users.findOne({
_id:users.db.bson_serializer.ObjectID.createFromHexString(id)
}, function(error, result) {
cb(error, result);
});
}
});
};
我的 Mongoobject 如下所示:
{ “title”:“title”,“givenname”:“Vorname”,“lastname”:“Nachname”,“name”:“Vorname Nachname”,“用户名”:“Benutzername”,“密码”:“Kennwort”, “电子邮件”:“kuerzel@emailadresse.de”,“电话”:“0000 - 000000”,“传真”:“000000 - 000000”,“lastlogin”:“15.11.2013”,“createdate”:“15.11.2013 ”,“更改日期”:“15.11.2013”,“状态”:“1”,“_id”:ObjectId(“5283fbf56e3adb01f1000001”)}
当我现在发送 GET: /users/1 时,将引发错误。
我是 Node.js 的新手。:-)