【发布时间】:2017-02-01 16:28:46
【问题描述】:
在尝试学习 MEAN 堆栈 Web 开发时,我正在尝试构建一个小型 Web 应用程序。
我有一个正在运行的 MongoDB,其中包含一个名为“contactlist”的集合,然后Node.js/Express.js 服务器将访问此列表,以将信息检索到 JSON 对象中并通过角度控制器传递。
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);
包含的控制器代码
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
【问题讨论】:
-
感谢您不使用猫鼬。然而,与其使用
mongojs,不如使用官方驱动程序mongodb包。官方驱动程序似乎有更详尽的文档。mongojs声称实现了 mongodb api,但在某些边缘情况下可能会有轻微的偏差,这可能会导致一些挫败感。此外,更多人会熟悉官方驱动程序,因此您会发现更容易获得帮助。
标签: angularjs node.js mongodb express mean-stack