我使用nodejs
和express
设置了mongoose
个应用程序。前端是AngularJS
应用。
在我的本地计算机上运行时,express
路由从MongoDB
提供正确的结果,但在生产环境中,我得到一个空结果([]
)。
User
架构定义如下:
var mongoose = require('mongoose');
module.exports = mongoose.model('Users', {
Username : String,
Password : String,
UniqueID : String,
Coordinates : Array
}, 'Users');
获得这些结果的express
路线是:
app.get('/coordinates/:userId', function (req, res) {
User.findOne({UniqueID: req.params.userId}, function (err, user) {
if (err) res.send(err);
else {
res.send(user.Coordinates);
}
});
});
在我的本地计算机上收到回复:[{x: 0, y: 0}, {x: 25, y: 25}]
,但在服务器上我得到[]
。
使用以下AngularJS
代码段调用路线:
$http.get('/coordinates/<userId>').then(function (response) {
$scope.coordinates = !_.isEmpty(response.data) ? response.data : [];
}, function (response) {
});
我不知道问题是什么。
答案 0 :(得分:0)
我有一个类似的问题,这就是我为解决它而做的事情
答案 1 :(得分:0)
愚蠢的我,事实证明这是一个PEBCAK。不知何故,生产数据库包含2个具有相同UniqueID的用户(我知道不是很独特),而findOne只返回了我不期待的那个......