2016-10-17 165 views
0

我目前正在创建一个MEAN应用程序,允许用户从ownedPlayers列表中创建一个足球队。然而,当我尝试对MongoDB中的ownedPlayers集合进行http.get调用时,它总是返回一个空数组。猫鼬查询返回没有值

OwnedPlayers的我的猫鼬模型如下。

var OwnedPlayers = mongoose.model('OwnedPlayers', { 
    userid: String, 
    playerid: String, 
    position: String 
}); 

端点和查询如下。

app.get('/api/ownedPlayers', function (req, res) { 
    console.log('userid used in request', req.query.userid) 
    console.log('position used in request', req.query.position) 

    OwnedPlayers.find({ 
     userid: req.query.userid, position: req.query.position 
    }, function (err, owned) 
    { 
     if (err) 
     { 
      res.send(err); 
     } 
     console.log('owned',owned); 
     res.json(owned); 
    }); 
}); 

我可以证实,在req.query.userid和req.query.position值做匹配,我ownedPlayers集合的单个记录。这可以通过下面的我的nodejs输出来看到。

App listening on port 8080 
GET /api/teams/57f50267418cb72fd020196a 304 31.936 ms - - 
userid used in request 57f50267418cb72fd020196a 
position used in request goal 
owned [] 
GET /api/ownedPlayers?userid=57f50267418cb72fd020196a&position=goal 304 32.903 ms - - 

我也可以确认密钥名称是正确的userid和位置。

当userid = 57f50267418cb72fd020196a和position = position = goal时,我期望返回的文档如下。

_id:57f7717ab1f0f22f3c3950b9 
userid:57f50267418cb72fd020196a 
playerid:57f7797e00ea2a0dc8609701 
position:goal 

任何帮助将不胜感激,因为我是非常新的mongodb和平均应用程序。

在此先感谢。

+0

如何创建'OwnedPlayers'的实例? –

+0

我不确定你的意思?我包含了概述用于OwnedPlayers的数据模型的部分,这不是同一件事吗?道歉,如果这是一个愚蠢的问题,仍然穿着我的noob条纹。我从角度2提供者发出实际的http请求。我将包含它的代码。以及在我最初的问题中在视图打字稿文件中打电话的位置。 –

+0

删除角码,显示创建“OwnedPlayers”的服务器代码 –

回答

0

问题在于,因为我使用的是未通过猫鼬创建的文档,因此无法正确找到该集合。

通过在创建我的模型时传入集合名称作为第三个参数,它显式设置集合名称并指向正确方向的猫鼬。