【问题标题】:Mongoose model definition use in different folderMongoose 模型定义在不同文件夹中使用
【发布时间】:2016-04-22 17:44:52
【问题描述】:

我定义了一个模式并为猫鼬添加了一个模型:

appName/models/Particiapnt.js;

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

var participantSchema= new Schema({
    createdAt: { type: Date, default: Date.now },

});

var Participant = mongoose.model('Participant', participantSchema, 'participants');

module.exports = Participant;

appName/routes/api.js

var express = require('express');
var Participant = require('./models/Participant'); ---- Line of failure! ----
var router = express.Router();

router.get('/all', function(req, res) {
    Participant.find().execFind(function (arr,data) {
        res.send(data);
    });
});

module.exports = router;

在 api.js 中,当我尝试创建我的模型实例时,我得到了这个:

Error: Cannot find module './models/Participant'
    at Function.Module._resolveFilename (module.js:325:15)
    at Function.Module._load (module.js:276:25)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/Users/../appName/routes/api.js:2:

我做错了什么?

【问题讨论】:

  • 应该是“../models/Participant”。请注意,在您的代码中,您正在同一文件中搜索文件,但实际上它位于上层
  • 把它作为一个答案,这样我就可以接受它

标签: node.js mongoose reference schema


【解决方案1】:

您应该改用“../models/Participant”。在您的代码中,您在同一目录中搜索它,但实际上它在上一层。

【讨论】:

    猜你喜欢
    • 2021-01-09
    • 2019-03-18
    • 1970-01-01
    • 2022-01-22
    • 1970-01-01
    • 2016-04-28
    • 2012-04-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多