Skip to content
i18next mongodb backend
Branch: master
Clone or download


Type Name Latest commit message Commit time
Failed to load latest commit information.

npm npm downloads license

Inspired from i18next-node-mongodb-backend with support for mongodb@3.5.x, some bug fixes and more improvements

Integrate i18next with MongoDB

I18next LogoMongoDB Logo


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

npm install mongodb i18next-node-mongo-backend
# or
yarn add mongodb i18next-node-mongo-backend

Important: This library doesn't include mongodb library. You have to install it yourself


const i18next = require('i18next');
const Backend = require('i18next-node-mongo-backend');

    // Backend Options
    backend: options

Backend Options

  // If you have your own MongoClient, put in here:
  // Note: If this has already been entered, the other MongoDB standard configurations will be ignored
  client: new MongoClient(), // work with connected client or not

  // Or (Choose one)

  // MongoDB standard configuration
  host: '',
  port: 27017,
  dbName: '<DB Name>',

  // MongoDB authentication. Remove it if not needed
  user: '<User>',
  password: '<Password>',

  // Collection name in database will be used to store i18next data
  collectionName: 'i18n',

  // MongoDB field name
  languageFieldName: 'lang',
  namespaceFieldName: 'ns',
  dataFieldName: 'data',

  // Error handlers
  readErrorHandler: console.error,
  readMultiErrorHandler: console.error,
  createErrorHandler: console.error,

  // MongoClient Options. See
  mongodb: {
    auto_reconnect: true,
    useUnifiedTopology: true

We do not provide uri options. You just fill out the available options, we will do it automatically for you

Sample mongo document

// Key name is according to provided in options
  "lang" : "en-US",
  "ns" : "translations",
  "data" : {
    "key": "Thank you!"
You can’t perform that action at this time.