私はmongodbに接続しようとしていますが、エラーを下回っていますので助けてください
var mongo = require('mongodb').MongoClient;
mongo.connect('mongodb://usernamexyz:[email protected]:47017/sampleDB?replicaSet=NAME_2436&readPreference=primary&authSource=admin&w=1', { useNewUrlParser: true, useUnifiedTopology: true })
.then(() => console.log("Mongodb connected"))
.catch(err => console.log(err));
そして、以下のように私が得ているエラー
MongoServerSelectionError: connection <monitor> to 155.30.360.129:37017 closed
at Timeout._onTimeout (C:\Fintech\NodeFirstApp\node_modules\mongodb\lib\core\sdam\topology.js:448:30)
at listOnTimeout (internal/timers.js:531:17)
at processTimers (internal/timers.js:475:7) {
name: 'MongoServerSelectionError',
reason: TopologyDescription {
type: 'ReplicaSetNoPrimary',
setName: null,
maxSetVersion: null,
maxElectionId: null,
servers: Map {
'hostmxy-mw-e6-u1238.nam.nsroot.net:47017' => [ServerDescription]
},
stale: false,
compatible: true,
compatibilityError: null,
logicalSessionTimeoutMinutes: null,
heartbeatFrequencyMS: 10000,
localThresholdMS: 15,
commonWireVersion: null
},
[Symbol(mongoErrorContextSymbol)]: {}
}
私も同じエラーが出ました。別の無線LANを使用していた。しかし、以前使用していたのと同じwifiでラップトップを接続すると、mongodbが再び接続しました。
MongoDBアトラスに接続しているときにも同じエラーが発生しました。あなたは以下のことをしなければなりません。 1.システムのファイアウォールで送信ポート27015-27017を許可します。 2.最新のMongoDBとNodeJを更新します。 3.ネットワークアクセスの下で、MongoDBアトラスクラスターのシステムIPをホワイトリストに登録します。
それは私のために働いた。私もそれがあなたのために働くことを望みます。
クラスターを作成したMongodbに移動し、ipwhitelist
の下で[IPアドレスの編集]ボタンをクリックして[Add ccurrent IP address
]を選択します
これは私のために働いた
MRジェイが言ったように、これは、IPアドレスがAtlasアカウントに登録されているものと異なる場合にも発生します(たとえば、静的IPを使用していない場合)。
MongoDB Atlasアカウントの「ネットワークアクセス」を確認し、現在のIPと比較します。