【发布时间】:2016-04-05 22:43:03
【问题描述】:
我正在尝试获取与相关登录用户关联的数据,但我收到错误,例如 Error: [filter:notarray] Expected array but received。
控制器文件:
function ManageProductController($http, $scope, $mdDialog, $document, $location, $localStorage)
{
var vm = this;
vm.uid = $localStorage._id;
$http({
url: 'http://localhost:7200/api/manage-product',
method: 'POST',
data: {userId:vm.uid}
}).success(function(res) {
//$scope.productlist = res;
//console.log(res.result);
vm.result=res.result;
//vm.docs=res.docs;
}, function(error) {
console.log(error);
alert('here');
});
}
节点文件:
router.post('/manage-product', function(req, res){
//console.log('I received get request');
//console.log(req.body.userId);
var um = ObjectId(req.body.userId);
//console.log(um);
var findProducts = function(db, callback) {
var cursor =db.collection('proInfo').findOne({userId:um},function(err, docs){
if(err){
callback(new Error("Some problem"));
}else{
callback(null,docs);
}
});
};
MongoClient.connect(url, function(err, db) {
assert.equal(null, err);
findProducts(db, function(err,docs) {
db.close();
if(err) return res.json({result:null})
else
return res.json({result: docs });
});
});
});
我得到如下图的结果
我的数据库如下图所示
【问题讨论】:
标签: angularjs node.js mongodb express