将Mongoose作为参数传入Node.js模块的技术实现问询
依赖Mongoose的Node.js模块实现与使用示例
这里是一个需要接收Mongoose实例作为参数的Node.js模块,核心是从传入的Mongoose中提取mongoose.connection、mongoose.connection.db、mongoose.mongo这三个对象来构建功能:
模块实现(index.js - myModule)
// 需确保已引入依赖的gridfsLockingStream const gridfsLockingStream = require('gridfs-locking-stream'); function myModule(mongoose) { // 从传入的mongoose实例获取connection对象 var db = mongoose.connection; // 利用connection.db和mongoose.mongo初始化gridfs流 var gfs = gridfsLockingStream(mongoose.connection.db, mongoose.mongo); this.someFunction = function() { // 这里编写你的业务逻辑代码 console.log('模块内的方法已执行'); } } module.exports = myModule;
用户使用示例(db.js)
var mongoose = require('mongoose'); // 先完成MongoDB数据库连接 mongoose.connect('mongodb://localhost:27017/your-target-db', { useNewUrlParser: true, useUnifiedTopology: true }) .then(() => { console.log('数据库连接成功'); // 引入并实例化myModule,传入已连接的mongoose实例 const MyModule = require('./index'); const myModuleInstance = new MyModule(mongoose); // 调用模块提供的自定义方法 myModuleInstance.someFunction(); }) .catch(err => console.error('数据库连接失败:', err));
内容的提问来源于stack exchange,提问作者Kasra GH
相关产品推荐
相关产品推荐

