【问题标题】:How to configure connection Adonis.Js using a cluster MongoDB Atlas如何使用集群 MongoDB Atlas 配置连接 Adonis.Js
【发布时间】:2019-12-27 08:58:22
【问题描述】:

我正在 MongoDB.atlas 中的 Adonis.js 中设置我的连接,但我不知道如何完成此配置。

我目前只有连接字符串:

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

config/database.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
      }
    }
  }, 

我想知道如何完成配置或其他替代方法,提前谢谢!!!

【问题讨论】:

  • 你找到解决办法了吗?

标签: node.js mongodb adonis.js


【解决方案1】:

这样的mongodb连接格式 mongodb+srv://[username:password@]host1[:port1][,...hostN[:portN]][/[database][?options]] 在 .env 文件中放入

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

更改数据库配置文件

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: {
  }

也许是工作

【讨论】:

【解决方案2】:

我遇到了同样的问题,这里有一个解决方案

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
      }
    }
  }
}

【讨论】:

    猜你喜欢
    • 2018-03-05
    • 2021-03-09
    • 2020-01-15
    • 2021-04-29
    • 1970-01-01
    • 2019-06-10
    • 2017-12-12
    • 1970-01-01
    • 2019-08-19
    相关资源
    最近更新 更多