【发布时间】:2015-04-28 07:16:41
【问题描述】:
编辑 我尝试限制我的结果,似乎我可以毫无问题地获得 100 个左右的结果,但除此之外什么都没有显示。有没有办法流式传输数据,以便它只显示它收到的数据?我认为这是 Node 的强项之一
原创 我有一个使用 Node、Mongoose、Express 和 Angular 的应用程序。我正在尝试从我的 mongo 应用程序发送我的数据以显示角度。当我使用查询来查找一个结果时,该应用程序运行良好。但是,当我尝试发回数据时,什么也没有出现。这是我的代码:
app/models/org.js
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
module.exports = mongoose.model('Org', new Schema({
ein : {type : Number},
}), 'irs9902013');
app/routes.js
var Org = require('./models/org');
module.exports = function(app) {
app.get('/api/orgs', function(req, res){
Org.find({}, {"EIN" : 1, _id : 0}, function(err, doc){
if (err)
res.send(err);
res.json(doc);
});
});
};
public/js/controllers/OrgCtrl.js
angular.module('OrgCtrl', []).controller('OrgController', function($scope, $http) {
$http.get('/api/orgs')
.success(function(data) {
$scope.orgs = data;
console.log(data);
})
.error(function(data) {
console.log('Error: ' + data);
});
});
public/js/services/OrgService.js
angular.module('OrgService', []).factory('Org', ['$http', function($http) {
return {
get : function() {
return $http.get('/api/orgs');
},
}
}]);
public/views/org.html
<div ng-controller="OrgController" ng-repeat="org in orgs">
{{ org.EIN }}
</div>
我的服务器运行良好(如果您认为它有帮助,我可以包含该代码)并且我的视图包含在另一个包含正确 ng-app 名称的文件中。我没有收到任何错误,但它似乎不起作用。还可能值得注意的是,有超过 200,000 条记录应该被返回。
【问题讨论】:
-
如果您使用控制台日志文档,是否会显示任何内容?传递一个空对象作为猫鼬查找函数的第一个参数的目的是什么?如果你想返回所有记录,你不会只做 Org.find(function(err, docs){ ... });
-
控制台日志文档显示了我想要获取的所有内容。第一个参数是查询您的条件,第二个参数是只从结果中返回所选字段,而不是所有字段...
-
顺便说一句,为什么在 OrgService 模块中有服务名称 Org 并且仍然在控制器中直接访问服务器?
标签: angularjs node.js mongoose