在尝试学习 MEAN 堆栈 Web 开发的同时,我正在尝试构建一个小型 Web 应用程序。
我有一个正在运行的 MongoDB,其中包含一个名为“contactlist”的集合,然后 Node.js/Express.js
服务器将访问此列表,以将信息检索到 JSON 对象中并将其传递通过 Angular Controller 。
var express = require('express');
var mongojs = require('mongojs');
var db = mongojs('contactlist', ['contactlist']);
var app = express();
const port = 80;
app.use(express.static(__dirname + "/public"));
app.get('/contactlist', function(req, res){
console.log("I received a GET request")
db.contactlist.find(function(err, docs){
console.log("Getting data from db");
console.log(docs);
res.json(docs);
});
console.log("Returned data");
});
app.listen(port,'0.0.0.0');
console.log('Server running on port '+port);
包含的 Controller 代码
var myApp = angular.module('myApp',[]);
myApp.controller('AppCtrl',['$scope','$http',function ($scope,$http){
console.log("Hello World")
console.log("Getting data from server")
$http.get('/contactList').success(function(response){
console.log("I got the data I requested");
$scope.contactList = response;
})
}]);
来自服务器的日志:
C:\Users\savila\Documents\Code\contactListApp>node server
Server running on port 80
I received a GET request
Returned data
Getting data from db
undefined
最佳答案
您没有传递query
对象
传递空查询对象 {}
以获取所有项目
查找查询
的语法
db.collection.find(query, projection)
检查文档以查找查询 find()
app.get('/contactlist', function(req, res){
console.log("I received a GET request")
db.contactlist.find({},function(err, docs){
console.log("Getting data from db");
console.log(docs);
res.json(docs);
});
console.log("Returned data");
});
关于angularjs - Node.js 从返回未定义的 MongoDB 获取请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39667082/