1

我的问题是我厌倦了写作:

var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var mongooseTypes = require("mongoose-types");
mongooseTypes.loadTypes(mongoose, 'url');
var Url = mongoose.SchemaTypes.Url;
var mongooseTypes = require("mongoose-types");
....

在每个模式文件中。有没有一种方法可以让您需要在该文件中设置 mongoose、Schema 和 mongooseTypes 变量?

我可以这样做: var mongooseTypes = require(mongoose-global-stuff.js).mongooseTypes; 但是,然后我一次定义每个变量,我在这里没有得到任何东西。

由于事物的定义方式,我只发现猫鼬有这个问题。

4

1 回答 1

4

你可以有一个单独的模块(比如,'moongoose-wrapper'),如下所示:

var mongoose = require('mongoose');
var mongooseTypes = require("mongoose-types");
mongooseTypes.loadTypes(mongoose, 'url');

module.exports.mongoose = mongoose;
module.exports.Schema = mongoose.Schema;
module.exports.mongooseTypes = require('mongoose-types');
module.exports.Url = mongoose.SchemaTypes.Url;

然后像这样使用它:

var mongoose = require('./path/to/mongoose-wrapper');
mongoose.mongooseTypes.doSomethingWithMongooseTypes();
mongoose.Url.doSomethingWithUrl();
...
于 2012-09-09T22:19:24.157 回答