У меня проблема с моим REST API. Он не будет правильно общаться с mongodb. Node.js бросок следующее исключение:REST API (Mongo DB) Аргументы Ошибка 500
Ошибка: Аргумент передается в должно быть одной строки из 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 выглядит следующим образом:
{ "название": "название", "GivenName": "Vorname", "LastName": "Nachname", "имя" : «Vorname Nachname " "имя пользователя": "Авторизация Логин", "пароль": "Kennwort", "электронная почта": "[email protected]", "телефон": "0000 - 000000", "факс":" 000000 - 000000 ", " lastlogin ":" 15.11.2013 ", " createdate ":" 15.11.2013 ", " changeate ":" 15.11.2013 ", "состояние": "1", "_ID": ObjectId ("5283fbf56e3adb01f1000001") }
Когда я теперь отправить GET:/Пользователи/1 ошибка будет выброшен.
Я новый в Node.js. :-)
OK, когда я использую ObjectID = 5283fbf56e3adb01f1000001, он будет работать. Но я буду использовать читаемый человеком идентификатор. Это возможно? – electron23