i18next-node-mongodb-backend with support for mongodb@3.5.x
and some bug fixes and more improvements
Inspired from i18next with MongoDB
IntegrateIntroduction
This is a i18next backend to be used Node JS. It will load resources from a MongoDB database with official node mongodb driver.
Getting started
yarn add mongodb i18next-node-mongo-backend# or npm install mongodb i18next-node-mongo-backend
Important: This library doesn't include
mongodb
library. You have to install it yourself
Usage
const i18next = ;const Backend = ; i18next;
Backend Options
// Database Name dbName: '<DB Name>' // Required // MongoDB Uri uri: '<DB URI>' // Or // MongoDB standard configuration host: '<DB Host>' port: 27017 // Or // If you have your own `MongoClient`, put in here: // Note: If this has already been entered, the other MongoDB configurations will be ignored client: // work with connected client or not // MongoDB authentication. Remove it if not needed user: '<DB User>' password: '<DB Password>' // Collection name in database will be used to store i18next data collectionName: 'i18n' // MongoDB field name languageFieldName: 'lang' namespaceFieldName: 'ns' dataFieldName: 'data' // Remove MongoDB special character from field name. See https://jira.mongodb.org/browse/SERVER-3229 sanitizeFieldNameCharacter: true // Error handlers readOnError: consoleerror readMultiOnError: consoleerror createOnError: consoleerror // MongoClient Options. See https://mongodb.github.io/node-mongodb-native/3.5/api/MongoClient.html mongodb: useUnifiedTopology: true ;
Example Backend Options
uri
:
Connect with uri: 'mongodb://localhost:27017/test' dbName: 'test' // Required field
host
and port
:
Connect with host: 'localhost' port: 27017 dbName: 'test' // Required field
MongoClient
instance (Recommended):
Connect with If you already have your own connection, use this to avoid useless connections
client: // Change with your MongoClient instance dbName: 'test' // Required field
Example of the MongoDB document that will be created:
// Key name is according to provided in options
here for more example usage
VisitChange Log:
v0.0.4 (08-04-20):
- Critical bug fixed
- Remove
persistConnection
option - Rename
filterFieldNameCharacter
option tosanitizeFieldNameCharacter