Javascript Mongoose架构注册-传递配置信息
注册mongoose模式并使用它们时,传递配置信息的好方法是什么 在下面的例子中,我想让读取首选项和超时值来自配置文件<代码>“读取:['nearest']},安全:{wtimeout:10000})” 类似于=>Javascript Mongoose架构注册-传递配置信息,javascript,node.js,mongodb,mongoose,Javascript,Node.js,Mongodb,Mongoose,注册mongoose模式并使用它们时,传递配置信息的好方法是什么 在下面的例子中,我想让读取首选项和超时值来自配置文件“读取:['nearest']},安全:{wtimeout:10000})” 类似于=>“read:[dbConfig.readPrefence]},safe:{wtimeout:dbConfig.writetimeoutms}”,传递dbConfig的好方法是什么? var mongoose = require('mongoose'); var Schema = mongoos
“read:[dbConfig.readPrefence]},safe:{wtimeout:dbConfig.writetimeoutms}”,传递dbConfig的好方法是什么?
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var blogSchema = new Schema({
title: String,
author: String,
body: String,
comments: [{ body: String, date: Date }],
date: { type: Date, default: Date.now },
hidden: Boolean,
meta: {
votes: Number,
favs: Number
}
}, {read: ['nearest']}, safe: {wtimeout: 10000}));
解决方案可能取决于您对文件的组织方式,这意味着您可能要问的是如何将配置传递给多个文件,每个文件都包含一个模式。但是首先看一看这个简单的例子,这个文件中存在一个模式,我建议从那里加载配置并传入值 config.json
{
"read": "nearest",
"safe": true
}
my schema.js
var mongoose = require('mongoose'),
Schema = mongoose.Schema,
config = require('./config.json');
var blogSchema = new Schema({
title: String,
author: String,
body: String,
comments: [{ body: String, date: Date }],
date: { type: Date, default: Date.now },
hidden: Boolean,
meta: {
votes: Number,
favs: Number
}
}, {
read: config.read,
safe: config.safe
});
var mySchema = require("./my-schema.js")(config);
module.exports = function(config) { ... }
如果您有多个模式,并且希望只加载一次配置并传递,那么我建议在模式文件的require调用中发送它。例如:
app.js
var mongoose = require('mongoose'),
Schema = mongoose.Schema,
config = require('./config.json');
var blogSchema = new Schema({
title: String,
author: String,
body: String,
comments: [{ body: String, date: Date }],
date: { type: Date, default: Date.now },
hidden: Boolean,
meta: {
votes: Number,
favs: Number
}
}, {
read: config.read,
safe: config.safe
});
var mySchema = require("./my-schema.js")(config);
module.exports = function(config) { ... }
my schema.js
var mongoose = require('mongoose'),
Schema = mongoose.Schema,
config = require('./config.json');
var blogSchema = new Schema({
title: String,
author: String,
body: String,
comments: [{ body: String, date: Date }],
date: { type: Date, default: Date.now },
hidden: Boolean,
meta: {
votes: Number,
favs: Number
}
}, {
read: config.read,
safe: config.safe
});
var mySchema = require("./my-schema.js")(config);
module.exports = function(config) { ... }