установить префикс по умолчанию для имен коллекций в mongoose - PullRequest
0 голосов
/ 28 ноября 2018

Я использую mongoose с cosmosdb (с mongodb api) на node.js.При работе в любой среде, кроме рабочей, я хочу использовать одну и ту же базу данных для многих приложений и добавить префикс к имени коллекции.

Я могу сделать это следующим образом:

const DB_PREFIX = config.get('APP_NAME')
const ENV = config.get('NODE_ENV')

const UserSchema = new Schema({ 
    name: { type: String, required: true }
})

const collection = ENV === 'production' ? 'users' : `${DB_PREFIX}-users`
module.exports = mongoose.models.Users || mongoose.model('Users', UserSchema, collection)

Но вместо того, чтобы делать это для каждого определения модели, возможно ли создать или перезаписать что-либо на объекте mongoose в одном месте (например, когда я создаю соединение), чтобы добавить префикс по умолчанию, чтобы мои модели были чище?

Я мог бы написать некоторую функцию для создания модели и использовать ее в моделях вместо mongoose.model(modelName, schema), но если я могу, я хотел бы сделать что-то, что мне вообще не нужно менять файлы модели.

...