javascript - Mongoose : "Possibly unhandled rejection"。 ContactList.insert 不是函数

标签 javascript node.js mongoose

使用 MEAN 堆栈做一个小项目。还有一个问题,发送post请求时,console.log显示错误。

error

错误状态:

可能未处理的拒绝:{"data":"TypeError: ContactList.insert 不是函数

我的服务器端代码如下:

var express = require("express");
var app = express();
var mongoose = require('mongoose');
var logger = require("morgan");
var bodyParser = require("body-parser");
var path = require("path");

mongoose.connect("mongodb://127.0.0.1:27017/contactlist");

var ContactList = require("./server/models/contactList.js");


app.use(logger('dev'));
app.use(bodyParser.json({limit:'50mb'}));
app.use(bodyParser.urlencoded({limit:'50mb', extended:true})); 
app.use(express.static(path.join(__dirname, 'public'),{maxAge:1}));

app.get('/contactlist', function(req, res) {
  console.log('I received a get request');
  ContactList.find().exec(function(err, contacts) {
   //console.log(contacts);
   res.status(200).send(contacts);
 });
});

app.post('/contactlist', function(req, res) {
  console.log(req.body);
  ContactList.insert(req.body, function(err, contacts) {
    res.json(contacts);
  });
});

app.listen(process.env.PORT, function() {
     console.log(`Express server running on port ${process.env.PORT}`);

我不确定以下代码:

app.post('/contactlist', function(req, res) {
      console.log(req.body);
      ContactList.insert(req.body, function(err, contacts) {
        res.json(contacts);
      });
    });

Controller 代码

var myApp = angular.module('myApp', []);
myApp.controller('AppCtrl', ['$scope', '$http', function($scope, $http) {
    $http.get('/contactlist').then(function(response){
        console.log("I got the data I requested"); 
        $scope.contactList = response.data;
    });

    $scope.addContact = function() {
        console.log($scope.contact);
        $http.post('/contactlist', $scope.contact).then(function(response) {
            console.log(response);
        });
    };

}]);

最佳答案

Mongoose 模型没有 .insert 方法,它们有 .create :

ContactList.create(req.body, function(err, contacts) {
  res.json(contacts);
});

确保您还添加了正确的错误处理。

关于javascript - Mongoose : "Possibly unhandled rejection"。 ContactList.insert 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44822103/

相关文章:

javascript - 用户点击WebView Android时如何打开一个新链接

JavaScript:分解字符串以转换为 CSV

javascript - 如何在angularjs中为递归模板创建行选择器

javascript - 在 JavaScript 中,为什么 (undefined && true) 返回 undefined?

javascript - Node JS 应用程序中未处理的错误

node.js - 是否可以使用 Mongoose 在 MongoDB 中创建新数据库?

javascript - 使用 Mongoose 获取新嵌入的文档

php - 如何每十秒刷新一次 php 脚本?

c++ - 在 Linux 上的两个应用程序之间共享数据

javascript - NodeJS + SocketIO 大socket事件管理