如何在 Rails 上使用 Ruby 的 AWS 文档数据库?与 3.6 版的兼容性?
How to use AWS Document DB with Ruby On Rails? Compatibility with version 3.6?
最近 AWS 实现了与 MongoDB 版本 3.6 的兼容性
通过 DocumentDB。
文档数据库需要证书,可在以下位置下载:
https://s3-us-gov-west-1.amazonaws.com/rds-downloads/rds-GovCloud-Root-CA-2017.pem
使用类似于以下的配置文件:
https://github.com/mongodb/mongoid/blob/master/lib/rails/generators/mongoid/config/templates/mongoid.yml
我想知道是否有办法在 mongoid 中设置与 3.6 的兼容性 gem 或者是否有特定版本确保使用 3.6 版本?
谢谢
首先,重要的是要注意 DocumentDB 仅实现与亚马逊宣传的 "MongoDB 3.6" 的部分兼容性。您可以在此处阅读有关某些不兼容性的更多信息:https://www.mongodb.com/blog/post/documents-are-everywhere
Mongoid 在实际 MongoDB 3.6 服务器上工作并经过测试。无需特殊配置。
将 Mongoid 与 DocumentDB 一起使用可能会起作用,也可能会在 Amazon 的文档数据库中公开 incompatibilities/omissions,具体取决于尝试的具体操作。
首先,您可能需要下载 RDS 组合包而不是 rds-GovCloud-Root-CA-2017.pem
。 Link: https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem
试试这个作为你的 yaml 文件:
development:
clients:
default:
uri: mongodb://myuser:mypassword@<your_cluster_endpoint>:<cluster_port>/test?ssl=true
options:
ssl_ca_cert: /path/to/rds-combined-ca-bundle.pem
示例工作配置
production:
clients:
default:
uri: "mongodb://user:pass@db_end_point:27017/db_name?ssl=true&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false"
app_name: AppName
options:
ssl_ca_cert: "./config/rds-combined-ca-bundle.pem"
development:
clients:
default:
uri: "mongodb://user:pass@db_end_point:27017/db_name?ssl=true&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false"
app_name: AppName
options:
ssl_ca_cert: "./config/rds-combined-ca-bundle.pem"
test:
clients:
default:
uri: "mongodb://user:pass@db_end_point:27017/db_name?ssl=true&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false"
app_name: AppName
options:
ssl_ca_cert: "./config/rds-combined-ca-bundle.pem"
最近 AWS 实现了与 MongoDB 版本 3.6 的兼容性 通过 DocumentDB。
文档数据库需要证书,可在以下位置下载:
https://s3-us-gov-west-1.amazonaws.com/rds-downloads/rds-GovCloud-Root-CA-2017.pem
使用类似于以下的配置文件:
https://github.com/mongodb/mongoid/blob/master/lib/rails/generators/mongoid/config/templates/mongoid.yml
我想知道是否有办法在 mongoid 中设置与 3.6 的兼容性 gem 或者是否有特定版本确保使用 3.6 版本?
谢谢
首先,重要的是要注意 DocumentDB 仅实现与亚马逊宣传的 "MongoDB 3.6" 的部分兼容性。您可以在此处阅读有关某些不兼容性的更多信息:https://www.mongodb.com/blog/post/documents-are-everywhere
Mongoid 在实际 MongoDB 3.6 服务器上工作并经过测试。无需特殊配置。
将 Mongoid 与 DocumentDB 一起使用可能会起作用,也可能会在 Amazon 的文档数据库中公开 incompatibilities/omissions,具体取决于尝试的具体操作。
首先,您可能需要下载 RDS 组合包而不是 rds-GovCloud-Root-CA-2017.pem
。 Link: https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem
试试这个作为你的 yaml 文件:
development:
clients:
default:
uri: mongodb://myuser:mypassword@<your_cluster_endpoint>:<cluster_port>/test?ssl=true
options:
ssl_ca_cert: /path/to/rds-combined-ca-bundle.pem
示例工作配置
production:
clients:
default:
uri: "mongodb://user:pass@db_end_point:27017/db_name?ssl=true&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false"
app_name: AppName
options:
ssl_ca_cert: "./config/rds-combined-ca-bundle.pem"
development:
clients:
default:
uri: "mongodb://user:pass@db_end_point:27017/db_name?ssl=true&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false"
app_name: AppName
options:
ssl_ca_cert: "./config/rds-combined-ca-bundle.pem"
test:
clients:
default:
uri: "mongodb://user:pass@db_end_point:27017/db_name?ssl=true&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false"
app_name: AppName
options:
ssl_ca_cert: "./config/rds-combined-ca-bundle.pem"