在我的路线文件中,我有
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' );
});
});
我的架构定义为
var userDataSchema = new Schema({
name: String
}, {collection: 'users'});
mongoose.model('users', userDataSchema);
在我的路由文件中,如果我只是res.send(user)
,那么它会向我提供正确的JSON,并返回所有具有其名称的用户。我的问题是我无法从JSON访问特定名称。
我已尝试对该变量执行JSON.stringify(user)
然后JSON.parse()
,但仍无法访问user.name。我现在也尝试了user.toJSON()
,但是这会导致错误,甚至没有响应'User.name未定义'
编辑:这是JSON:
[
{
_id: "57feb97017910fa7e0e194d8",
name: "Garrett"
},
{
_id: "57feb97817910fa7e0e194d9",
name: "Steve"
},
{
_id: "57feb97c17910fa7e0e194da",
name: "Joe"
}
]
因此,当我转到/ users / Steve和console.log(user)
时,它会为该用户记录正确的JSON。
答案 0 :(得分:1)
使用.findOne或用户对象将是数组