、私はなぜMongooseは私にJSON属性へのアクセスを許可していませんか?私のルートファイルで
router.get('/users/:user', function(req, res) {
mongoose.model('users').find({name: req.params.user}, function(err, user) {
res.send(user.name || 'User.name is not defined');
});
});
を持っていると私はちょうどres.send(user)
をすれば、私のスキーマが、私のルートファイルで
var userDataSchema = new Schema({
name: String
}, {collection: 'users'});
mongoose.model('users', userDataSchema);
として定義され、それはすべてのバック私に適切なJSONを与えますその名前のユーザーの私の問題は、私はJSONから特定の名前にアクセスすることができないということです。
私はJSON.stringify(user)
を実行してからその変数にJSON.parse()
を実行しようとしましたが、user.nameにはまだアクセスできません。私は今もuser.toJSON()
を試してみましたが、これはエラーが発生しても、
EDIT「は定義されていませんUser.name」で応答しない:ここではJSONです:私が行くときに
[
{
_id: "57feb97017910fa7e0e194d8",
name: "Garrett"
},
{
_id: "57feb97817910fa7e0e194d9",
name: "Steve"
},
{
_id: "57feb97c17910fa7e0e194da",
name: "Joe"
}
]
/ユーザー/ Steveとconsole.log(user)
の場合、そのユーザーの正しいJSONがログに記録されます。
です。応答を送信する前に、サーバーconsole.log(user.name)にあります。ロギングとは何ですか? – user2263572
これは未定義のログです –
メソッド[toJSON](http://mongoosejs.com/docs/api.html#document_Document-toJSON) – tmquang6805