itsource

Mongoose Error [Mongoose Server Selection Error] : 52.6.250.237:27017에 대한 연결이 닫혔습니다.

mycopycode 2023. 4. 22. 09:27
반응형

Mongoose Error [Mongoose Server Selection Error] : 52.6.250.237:27017에 대한 연결이 닫혔습니다.

post 방식으로 mongodb에 데이터를 저장하려고 하는데 node.js와 mongodb atlas를 사용하여 계속 오류가 발생하고 올바른 연결 문자열과 비밀번호를 제공했습니다.이 건에 대해 협조 부탁드립니다.감사해요.

코드는 다음과 같습니다.

const mongoose = require('mongoose');

const monngodb_url="mongodb+srv://maarij:asdf360@cluster0-j7wis.mongodb.net/authDB?retryWrites=true&w=majority";

mongoose.connect(monngodb_url, {useNewUrlParser: true,useUnifiedTopology: true}).then(()=>{
    console.log("mongodb is connected");
}).catch((error)=>{
    console.log("mondb not connected");
    console.log(error);
});

다음은 오류입니다.

server is running on port 3000
{ name: 'myName', email: 'e@mail.com', password: 'abcdefg' }
mondb not connected
MongooseError [MongooseServerSelectionError]: connection <monitor> to 52.6.250.237:27017 closed
    at new MongooseServerSelectionError (D:\react-native\reactNativeBackend\node_modules\mongoose\lib\error\serverSelection.js:22:11)
    at NativeConnection.Connection.openUri (D:\react-native\reactNativeBackend\node_modules\mongoose\lib\connection.js:808:32)
    at Mongoose.connect (D:\react-native\reactNativeBackend\node_modules\mongoose\lib\index.js:333:15)
    at Object.<anonymous> (D:\react-native\reactNativeBackend\db\db.js:5:10)
    at Module._compile (internal/modules/cjs/loader.js:955:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:991:10)
    at Module.load (internal/modules/cjs/loader.js:811:32)
    at Function.Module._load (internal/modules/cjs/loader.js:723:14)
    at Module.require (internal/modules/cjs/loader.js:848:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at Object.<anonymous> (D:\react-native\reactNativeBackend\index.js:4:19)
    at Module._compile (internal/modules/cjs/loader.js:955:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:991:10)
    at Module.load (internal/modules/cjs/loader.js:811:32)
    at Function.Module._load (internal/modules/cjs/loader.js:723:14)
    at Function.Module.runMain (internal/modules/cjs/loader.js:1043:10) {
  message: 'connection <monitor> to 52.6.250.237:27017 closed',
  name: 'MongooseServerSelectionError',
  reason: TopologyDescription {
    type: 'ReplicaSetNoPrimary',
    setName: null,
    maxSetVersion: null,
    maxElectionId: null,
    servers: Map {
      'cluster0-shard-00-01-j7wis.mongodb.net:27017' => [ServerDescription],
      'cluster0-shard-00-02-j7wis.mongodb.net:27017' => [ServerDescription],
      'cluster0-shard-00-00-j7wis.mongodb.net:27017' => [ServerDescription]
    },
    stale: false,
    compatible: true,
    compatibilityError: null,
    logicalSessionTimeoutMinutes: null,
    heartbeatFrequencyMS: 10000,
    localThresholdMS: 15,
    commonWireVersion: null
  },
  [Symbol(mongoErrorContextSymbol)]: {}
}

이 문제는 네트워크 액세스 패널로 이동하여 해결할 수 있습니다.

네트워크 패널

[ Add IP Address ]을 클릭합니다.

IP 주소 추가

0.0.0/0을 입력하고 [Confirm]을 클릭합니다.

실가동에서는이것을실행하지않습니다만,개발에서는이것을실행할수있습니다.

저도 같은 문제가 있었지만 성공적으로 해결했습니다.MongoDB 계정에서 응용 프로그램 연결을 위해 선택한 IP를 확인합니다.

초기 IP에서 작업을 시작하고 다른 IP 주소를 사용하려고 하면 작동하지 않습니다.

mongoDB의 경우:

NetworkAccess/(등록한 IP가 실제 사용한 IP와 동일한지 확인하십시오.[ Add IP address ]를 선택할 수 있습니다.

저도 비슷한 문제가 있었어요.「네트워크 액세스로 이동합니다」-> 「IP 화이트리스트」-> 이러한 IP 주소로부터만 클러스터에 접속할 수 있습니다.따라서, IP가 리스트에 없는 경우는, 이러한 IP 주소로부터만 클러스터에 접속할 수 있습니다.

그런 다음 Add IP address 버튼->을 클릭합니다.[ Add your current your current IP address 버튼을 클릭합니다.

이는 아마도 머신의 IP가 변경되기 때문에 실제 가동 시에는 IP가 변경되어서는 안 되지만 수정하려면 [Network access pannel]-> [ Add IP Address ](IP 주소 추가)로 이동하여 [Add this IP address](이 IP 주소 추가)를 클릭하면 다시 변경될 때까지 동작합니다.

여기서 가장 큰 문제는Mongodb AtlasMongodb Atlas의 네트워크 섹션에 있는 기존 IP 주소를 삭제하고 다시 추가하는 방법이 효과가 있었습니다.

인덱스에 이 행이 있었습니까?jsapp.use(cors())?

이 줄을 삭제하고 코르스와 관련된 모든 내용을 삭제해 보십시오.

그래도 안 될 경우 메흐디 베라의 솔루션을 사용해 보십시오.

가장 많은 표를 얻은 솔루션은 대부분의 경우 효과가 없습니다.먼저 "Aka" 솔루션의 단계를 수행한 후, 다음 단계를 제거해야 합니다.node_modules폴더입니다.그 후엔 그냥 뛰어npm i모든 의존관계를 재설치하기 위해 필요한 모든 의존관계는 에 등록되어 있습니다.package.json

mongodb의 network Access 탭에서 새 IP 주소를 삭제하거나 추가하면 서버의 메인 파일(index.js)을 새로 고치지 않을 때까지 프로젝트가 정상적으로 실행되지 않을 것입니다.새 IP 주소를 여러 번 추가했기 때문에 index.js를 새로 고칠 때까지 작동하지 않습니다.

감사해요.

''로 풀 수 요.Network Access > Edit > ADD CURRENT IP ADDRESS

Heroku에서 연결 구성 변수 재확인

안녕하세요 OP님들

이 페이지에 접속했을 때, 이미 화이트리스트에 IP가 기재되어 있는 것을 알았기 때문에, 이미 해결이 끝난 상태였지만, 아직 페이지가 아틀라스에 접속되어 있지 않기 때문에 트러블 슈팅을 실시했습니다.

문제가 있는 경우 Config vars의 키가 코드의 연결과 동일한지 확인합니다(예: MONODB_URI).

한 번의 배치로 헤로쿠와 코드 사이에 키가 달라서 알아내는 데 오랜 시간이 걸렸습니다.

그럼 이번에는 내 가치를 잘못 알고 있었군.IP 주소가 화이트리스트에 있는 것을 확인한 후 MONGODB_URI 값을 조사했습니다.현재의 경우 데이터베이스와 COLLECTION이 값의 일부로 포함되어 있지 않았습니다.Mongodb Atlas에서 connect to cluster를 클릭하여 연결 문자열을 가져오면 myFirst DataBase를 데이터베이스 이름으로 대체하라는 메시지가 나타납니다.mongodb.net/myFirstDatabase ...내 것도 컬렉션을 포함해야 했다.예를 들면, 제 건 이거였어요.mongodb.net/booksearch_db서 볼 수 되어 있습니다.mongodb.net/booksearch_db_booksearch

저는 핫스팟을 통해 모바일 네트워크를 사용했을 때 오류가 사라졌기 때문에 연결된 와이파이 네트워크가 문제였습니다.

언급URL : https://stackoverflow.com/questions/60431996/mongooseerror-mongooseserverselectionerror-connection-monitor-to-52-6-250-2

반응형