Ich versuche, eine kleine Web-App zu bauen, wie ich MEAN Stack Web-Entwicklung zu lernen versuchen.Node.js bekommen Anfrage von MongoDB Rückgabe undefined
Ich habe eine laufende MongoDB mit einer Sammlung namens "Kontaktliste", diese Liste wird dann von einemServer zugegriffen, um die Informationen in ein JSON-Objekt abzurufen und über einen Winkelcontroller zu übergeben.
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);
Enthalten Code für 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;
})
}]);
Protokoll vom Server:
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
Kudos für Sie nicht mit Mungo. Anstatt "Mongojs" zu verwenden, kann es jedoch sinnvoll sein, stattdessen das 'mongodb'-Paket zu verwenden, welches der offizielle Treiber ist. Der offizielle Fahrer scheint eine viel gründlichere Dokumentation zu haben. "Mongojs" behauptet, die Mongodb API zu implementieren, aber es könnte in einigen Grenzfällen leichte Abweichungen geben, die einige Frustration verursachen könnten. Außerdem werden dem offiziellen Fahrer viel mehr Menschen bekannt sein, sodass Sie leichter Hilfe bekommen. –