サーバーからエラーが発生しました。500エラー:ObjectIdへのキャストが値のために失敗しました
:私は次のルートを持っているgetAuthors() {
return this.http.get(this.appConfig.urlServer + "/comment/authors")
.map((response: Response) => response.json());
}
:
var mongoose = require("mongoose");
var Schema = mongoose.Schema;
var commentSchema = new Schema({
author: String,
title: String,
text: String,
favorite: Number
});
var Comment = mongoose.model("Comment", commentSchema);
module.exports = Comment;
私はメソッドを使用して要求を送信する角度2で記述されたクライアントから:
"{"message":{"message":"Cast to ObjectId failed for value \"authors\" at path \"_id\" for model \"Comment\"","name":"CastError","stringValue":"\"authors\"","kind":"ObjectId","value":"authors","path":"_id"}}"
私はモデルを持っています
var express = require("express");
var mongoose = require("mongoose");
var Comment = require("../models/comment");
var router = express.Router();
router.get("/comment/authors", getAuthorsOfComments);
module.exports = router;
function getAuthorsOfComments(req, res) {
Comment.find({}, 'author', function(err, authors) {
if (err) {
res.status(500).json({
message: err
})
}
if (authors) {
res.status(200).json({
authors: authors
})
}
})
}
お願いします。なぜ私はエラーが発生するのか分かりません。コメントのコレクションから
UPDATE 1.
エントリー。 最初のエントリ:
{
"_id" : ObjectId("59269000483977cefe7961e0"),
"author" : "test",
"title" : "title of text",
"text" : "Big text",
"favorite" : 1
}
2番目のエントリ:
{
"_id" : ObjectId("5926901b483977cefe7961f2"),
"author" : "test2",
"title" : "title of text",
"text" : "Big text",
"favorite" : 5
}
コメントコレクションからいくつかのエントリを投稿できますか? – Shadowfool
はい、できます。私は自分の投稿を更新しました。 –
投稿したコードを正確に使用していますか?あなたのコードはうまく見え、エラーなく動作するはずです。 –