【问题标题】:How does module.exports = mongoose; work when requiring "./database"?module.exports = mongoose;在需要“./database”时工作?
【发布时间】:2020-04-06 11:58:55
【问题描述】:

我是 MERN 堆栈初学者。我从一个基本的 CRUD 中发现了这个 sn-p 代码,我知道它可以工作,但我不明白如何。

//in server.js
const database = require('./database');

//in database.js
const mongoose = require('mongoose'); //importing mongoose
mongoose.connect('mongodb://localhost/monguse', {useNewUrlParser:true}) //connected to db
    .then((db)=>{console.log('Database connected')}) //message if ok
    .catch((err) =>{console.log(`Database connection error: ${err}`)}); //catching errors

module.exports = mongoose;

我了解 database.js 中发生了什么(这是我自己的版本),但是为什么不使用 server.js 中的任何方法就可以工作?似乎只能通过使用“require”功能来建立连接。然后在我的路线中再也没有提到这一点;只在请求中使用猫鼬模型。

谢谢!

【问题讨论】:

    标签: javascript node.js mongodb mongoose mern


    【解决方案1】:

    database.js 中创建数据库实例并按名称 mongoose 导出它,在 server.js 中按名称导入 mongoDB 实例数据库

    【讨论】:

    • 是的,我明白了,但是在导入时连接到我的数据库?就像那个导入是同时执行的一样?
    • 哪个进口?第一个 server.js 文件由节点执行,而不是仅执行其他文件。
    • '需要('./database')';它会自己连接到 mongodb 吗?仅通过从 database.js 中引用我的 mongoose obj 来实现?
    猜你喜欢
    • 1970-01-01
    • 2018-07-16
    • 2020-08-31
    • 1970-01-01
    • 2017-11-10
    • 2016-08-20
    • 1970-01-01
    • 1970-01-01
    • 2013-07-24
    相关资源
    最近更新 更多