Я знаю, что есть принятое решение, но я чувствую, что текущее решение приводит к большому количеству шаблонов, чтобы вы могли тестировать Модели. Мое решение состоит в том, чтобы взять модель и поместить ее внутри функции, что приведет к возврату новой модели, если модель не была зарегистрирована, но возвращает существующую модель, если она есть.
function getDemo () {
// Create your Schema
const DemoSchema = new mongoose.Schema({
name: String,
email: String
}, {
collection: 'demo'
})
// Check to see if the model has been registered with mongoose
// if it exists return that model
if (mongoose.models && mongoose.models.Demo) return mongoose.models.Demo
// if no current model exists register and return new model
return mongoose.model('Demo', DemoSchema)
}
export const Demo = getDemo()
Открытие и закрытие соединения повсюду разочаровывают и плохо сжимаются.
Таким образом, если я должен был потребовать от модели два разных места или, более конкретно, в своих тестах, я бы не стал получать ошибки, и вся правильная информация вернулся.
Если ваш файл непротиворечив, это сохранит вашу информацию в словаре:
with open('envparam.config') as f:
data = {}
for line in f:
key, value = line.strip().split('=')
data[key] = value
Затем вы можете получить к нему доступ следующим образом:
>>> data['DBSID']
SID