Node包是否需要数据库连接?

时间:2017-09-30 20:05:49

标签: node.js mongodb mongoose

根据标题,Node.js包是否需要数据库连接?

例如,我编写了一个特定的middlware功能,我计划通过NPM发布,但是,它需要连接到NoSQL数据库。当前状态下的功能使用Mongoose以特定格式保存数据并返回布尔值。

这被认为是不好的做法吗?

2 个答案:

答案 0 :(得分:0)

只要您需要所需的数据库并在 Readme.md 文件中明确说明它,这不是一个糟糕的做法,当您继续前进时,这只是一种不好的做法并且无需在您的代码或 readme.md 文件中提供评论,该文件将指导任何其他人查看您的代码。

示例:

//require your NoSQL database eg MongoDB
const mongoose = require('mongoose');


// to connect to the database. **boy** is the database name
mongoose.connect('mongodb://localhost/boy', function(err) {
   if (err) {
       console.log(err);
   } else {
       console.log("Success");
   }
});

答案 1 :(得分:0)

当您的模块需要数据库并希望保持尽可能独立有用时,通常有两种选择:

  1. 您可以在代码中加载首选数据库并使用它。
  2. 您可以使用您的模块为开发人员提供传递符合您的规范的数据库的方法,以供您的模块使用。传递数据库的常用方法是让开发人员使用您的模块将模块传递给模块构造函数。
  3. 在第一种情况下,您可能需要允许开发人员指定要使用的磁盘存储路径。在第二种情况下,您必须在文档中非常具体地说明需要什么类型的数据库接口。

    还有一个混合选项,您可以为开发人员提供配置和传递数据库的选项,但如果没有提供,则加载自己的数据库。

      

    当前状态下的功能使用Mongoose以特定格式保存数据并返回布尔值。这被认为是不好的做法吗?

    不,这不是一个坏习惯。这将是上面选项1的实现。只要您的客户(使用您的模块的开发人员)不介意加载和使用Mongoose,那么这非常好。