如何通过Mongojs设置远程连接到数据库

How to set remote connection to database via Mongojs

我需要将远程连接设置为 MongoDB,但我需要通过 mongojs 实现。

var docdbconn = mongojs('mongodb+srv://mylogin:mypassword@cluster0-m1s1a.mongodb.net/nameofdatabase?retryWrites=true');

通常我会遇到下一个错误:

MongoError: failed to connect to server [cluster0-m1s1a.mongodb.net:27017] on first connect [MongoError: getaddrinfo ENOTFOUND cluster0-m1s1a.mongodb.net cluster0-m1s1a.mongodb.net:27017]

您确定提供的端口是正确的吗,如果没有指定与文档相关的端口,则似乎默认设置了端口 27017。也许你的远程数据库不在这个端口上,你需要在你的连接字符串中手动指定它。

我找到了解决方案,所以我为 MongoDB 3.4+ 使用了另一个字符串连接,它帮助了我。

var docdbconn = mongojs("mongodb://nickname:password@cluster0-shard-00-00-m1s1a.mongodb.net:27017,cluster0-shard-00-01-m1s1a.mongodb.net:27017,cluster0-shard-00-02-m1s1a.mongodb.net:27017/databasename?ssl=true&replicaSet=Cluster0-shard-0&authSource=admin&retryWrites=true");