简体   繁体   English

如何使用集群 MongoDB Atlas 配置连接 Adonis.Js

[英]How to configure connection Adonis.Js using a cluster MongoDB Atlas

I'am setting my connection in Adonis.js from MongoDB.atlas , but i don't know how complete this configuration.正在MongoDB.atlasAdonis.js 中设置我的连接,但我不知道如何完成此配置。

I have only the connection string currently:我目前只有连接字符串:

mongodb+srv://user:@cluster-6nrle.mongodb.net/test?retryWrites=true&w=majority

config/database.js配置/数据库.js

/*
  |--------------------------------------------------------------------------
  | Default Connection
  |--------------------------------------------------------------------------
  |
  | Connection defines the default connection settings to be used while
  | interacting with Mongodb databases.
  |
  */
  connection: Env.get('DB_CONNECTION', 'mongodb'),
  /*-------------------------------------------------------------------------*/

  mongodb: {
    client: 'mongodb',
    connectionString: Env.get('DB_CONNECTION_STRING', 'mongodb+srv://user:<password>@cluster-6nrle.mongodb.net/test?retryWrites=true&w=majority'),
    connection: {
      host: Env.get('DB_HOST', 'localhost'),
      port: Env.get('DB_PORT', 27017),
      username: Env.get('DB_USER', 'admin'),
      password: Env.get('DB_PASSWORD', ''),
      database: Env.get('DB_DATABASE', 'adonis'),
      options: {
        // replicaSet: Env.get('DB_REPLICA_SET', '')
        // ssl: Env.get('DB_SSL, '')
        // connectTimeoutMS: Env.get('DB_CONNECT_TIMEOUT_MS', 15000),
        // socketTimeoutMS: Env.get('DB_SOCKET_TIMEOUT_MS', 180000),
        // w: Env.get('DB_W, 0),
        // readPreference: Env.get('DB_READ_PREFERENCE', 'secondary'),
        // authSource: Env.get('DB_AUTH_SOURCE', ''),
        // authMechanism: Env.get('DB_AUTH_MECHANISM', ''),
        // other options
      }
    }
  }, 

I would like to know how I can complete the configuration or something alternative, thanks in advance!!!我想知道如何完成配置或其他替代方法,在此先感谢!!!

mongodb connection format like this mongodb+srv://[username:password@]host1[:port1][,...hostN[:portN]][/[database][?options]] in .env file in put mongodb 连接格式像这样mongodb+srv://[username:password@]host1[:port1][,...hostN[:portN]][/[database][?options]] in .env 文件 in put

DB_USER=user 
DB_PASSWORD=password
DB_HOST=cluster-6nrle.mongodb.net
DB_PORT=27017
DB_DATABASE =test

change database config file更改数据库配置文件

mongodb: {
client: 'mongodb',
connection: {
  host: Env.get('DB_HOST', 'localhost'),
  port: Env.get('DB_PORT', 27017),
  username: Env.get('DB_USER', 'admin'),
  password: Env.get('DB_PASSWORD', ''),
  database: Env.get('DB_DATABASE', 'adonis'),
  options: {
  }

maybe it's work也许这是工作

i came across the same issue, here is a solution我遇到了同样的问题,这是一个解决方案

https://github.com/duyluonglc/lucid-mongo https://github.com/duyluonglc/lucid-mongo

module.exports = {

  /*
  |--------------------------------------------------------------------------
  | Default Connection
  |--------------------------------------------------------------------------
  |
  | Connection defines the default connection settings to be used while
  | interacting with Mongodb databases.
  |
  */
  connection: Env.get('DB_CONNECTION', 'mongodb'),
  /*-------------------------------------------------------------------------*/

  mongodb: {
    client: 'mongodb',
    connectionString: Env.get('DB_CONNECTION_STRING', ''),
    connection: {
      host: Env.get('DB_HOST', 'localhost'),
      port: Env.get('DB_PORT', 27017),
      username: Env.get('DB_USER', 'admin'),
      password: Env.get('DB_PASSWORD', ''),
      database: Env.get('DB_DATABASE', 'adonis'),
      options: {
        // replicaSet: Env.get('DB_REPLICA_SET', '')
        // ssl: Env.get('DB_SSL, '')
        // connectTimeoutMS: Env.get('DB_CONNECT_TIMEOUT_MS', 15000),
        // socketTimeoutMS: Env.get('DB_SOCKET_TIMEOUT_MS', 180000),
        // w: Env.get('DB_W, 0),
        // readPreference: Env.get('DB_READ_PREFERENCE', 'secondary'),
        // authSource: Env.get('DB_AUTH_SOURCE', ''),
        // authMechanism: Env.get('DB_AUTH_MECHANISM', ''),
        // other options
      }
    }
  }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM