0

REST API に問題があります。mongodb と正しく通信しません。Node.js は次の例外をスローします。

エラー: 渡された引数は、12 バイトの単一の文字列または 24 の 16 進文字の文字列でなければなりません

私のマネージャーは次のようになります。

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", "username": "Benutzername", "password": "Kennwort", "email": "kuerzel@emailadresse.de", "phone": "0000 - 000000", "fax": "000000 - 000000", "lastlogin": "15.11.2013", "createdate": "15.11.2013 ", "changedate": "15.11.2013", "state": "1", "_id": ObjectId("5283fbf56e3adb01f1000001") }

GET: /users/1 を送信すると、エラーがスローされます。

私はNode.jsが初めてです。:-)

4

1 に答える 1