gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 02:20:21 25 4
gpt4 key购买 nike

我正在使用 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com