当我们将Node.js应用程序连接到mongoDB Atlas上的集群时,我们需要添加以下URI,而不是添加"mongodb://localhost:27017/<dbname>"
,如图中步骤2所示。
"mongodb+srv://<username>:<password>@cluster1.tv7cp.mongodb.net/<dbname>?retryWrites=true&w=majority"
那么,<dbname>
后面的?retryWrites=true&w=majority
到底是什么意思呢?为什么我们要加它呢?
我试着用Mongoose运行了这个应用程序,没有?retryWrites=true&w=majority
,效果很好。
1条答案
按热度按时间6l7fqoea1#
Retryable writes
允许MongoDB驱动程序在遇到网络错误或在副本集或分片集群中找不到正常的主服务器时,自动重试一次特定的写入操作。Write concern
描述了MongoDB请求的确认级别,用于对独立mongod或副本集或分片集群的写入操作。在分片集群中,mongos示例会将写入问题传递给分片。(如果您的副本集有3个成员,这意味着您的多数=2,这意味着您的写入操作将在收到至少2个成员的成功确认后收到确认)