javascript - Mongoose :类型错误:[函数名称]不是函数。当尝试创建 Mongoose 实例时

标签 javascript node.js mongodb mongoose

我正在使用 MEAN 堆栈编写一个 Web 应用程序,但我对 mongoose 实例感到头疼。

这是我的(部分)代码:

我的路线

var express = require('express');
var router = express.Router();
var accDocService = require('../services/accdoc-services');

router.post('/dailybook', function(req, res) {
   accDocService.addAccDoc(req.body, function(error) {
      if (error) throw error;
   });
});

accdoc-service.js

var accDoc = require('../models/accdoc').accDoc;

console.log(typeof accDoc);

exports.addAccDoc = function(accDoc, next) {
   var newAccDoc = new accDoc({
      number: '45645'
   });

   newAccDoc.save(function(error) {
      if (error) throw error;
      console.log("doc created");
   });
};

accdoc.js(模型文件)

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var accDocSchema = new Schema({
   number: String
});

var accDoc = mongoose.model('accDoc', accDocSchema);

module.exports = {
   accDoc: accDoc
};

发送 post 请求后,我收到 TypeError: accDoc is not a function

此外,第二个文件中的 console.log(typeof accDoc); 返回函数

编辑1

accdoc-services 中,如果我将 var AccDoc = require('../models/accdoc'); 移动到 addAccDoc 函数,一切正常。

我在这里缺少一些node.js 的东西吗?我正在观看 Lynda 的教程视频,其中不存在这样的范围问题。 here is an image from Lynda tutorial

最佳答案

您缺少用于创建 accDoc 模型实例的新关键字

var accDoc = require('../models/accdoc').accDoc;

console.log(typeof accDoc);

exports.addAccDoc = function(accDoc, next) {
   var newAccDoc = new accDoc({ // HERE new was missing!
      number: '45645'
   });

   newAccDoc.save(function(error) {
      if (error) throw error;
      console.log("doc created");
   });
};

关于javascript - Mongoose :类型错误:[函数名称]不是函数。当尝试创建 Mongoose 实例时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33780726/

相关文章:

javascript - 用 javascript 解析 google place json

javascript - 给定以下数组,我将如何编写 ES6 表达式来返回所有名字

Javascript/网络包 : how to concatenate all json files in directory with a custom loop over files

security - 如何禁用 NodeJs 内部模块?

javascript - 将 JSON 数组添加到 Mongoose 模式 (JavaScript)

javascript - 使用 html 标签循环显示数据

javascript - 无法更新状态

node.js - "Fatal error: Unable to find local grunt."运行 "grunt"命令时

mongodb - 如何在 Mongoose 中运行 SlaveOk?

ruby-on-rails - 在 Windows 7 上使用 Ruby on Rails 遇到困难