angularjs - Node.js 从返回未定义的 MongoDB 获取请求

标签 angularjs node.js mongodb express mean-stack

在尝试学习 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/

相关文章:

html - 从 500x500 大小的 div 中的字符串呈现 HTML

javascript - mongoDB ISO日期到字符串与moment.js时区转换

Mongodb/Mongoid 对索引属性的查询速度缓慢

java - mongodb java聚合操作

javascript - 使用node.js读取对象属性

node.js - 如何构建 Node 应用程序来处理 cpu 密集型任务?

javascript - AngularJS 1.5 组件使用模板 url 将数据绑定(bind)到 Controller 和 View

javascript - 将简单的 ajax 调用转换为使用 promise jQuery/AngularJS

javascript - 尝试从 API 返回的两个三个对象创建单个对象数组

node.js - PM2 监控与 PM2 日志