你通过使用这样的东西分享你的mongoose实例
var mongoose = require('mongoose');
module.exports.mongoose = mongoose;
var user = require('./lib/user');
Run Code Online (Sandbox Code Playgroud)
现在在"lib/user.js"里面
var mongoose = module.parent.mongoose;
var model = mongoose.model('User', new mongoose.Schema({ ... });
module.exports = model;
Run Code Online (Sandbox Code Playgroud)
这样做可以在其他应用程序中使用"lib/user.js"
我最终在这里所做的是将app1作为子模块(使用Git)导入app2中。这样,可以正常导入模型并将模型绑定到应用程序的默认mongoose连接。
我共享 Mongoose 模型的方法是将 mongoose 对象作为参数传递给定义模式并创建模型的共享模块。因此具有共享模式/模型的文件如下所示:
module.exports = function(mongoose) {
var packageSchema = new mongoose.Schema({
title: { type: String, required: true },
description: String
});
mongoose.model('Package', packageSchema, 'packages');
};
Run Code Online (Sandbox Code Playgroud)
然后每个项目都像这样要求它们:
var mongoose = require('mongoose');
var mongo_url = process.env.MONGO_CONNECTION;
mongoose.Promise = global.Promise;
mongoose.connect(mongo_url, connectOpts);
require('../../../shared/models/packages')(mongoose);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4342 次 |
| 最近记录: |