codeing999 / web_socket_practice

ws로 간단한 서버 클라이언트 통신
0 stars 0 forks source link

db 설치 이슈 #1

Open codeing999 opened 1 year ago

codeing999 commented 1 year ago

책을 따라서 mongodb를 db로 사용하려고 하는데 몽고db설치 부분은 8장에 나와있다.

해당 부분에서는 버전 4.3을 설치하였는데 무시하고 6.x대 버전을 설치하였다.

코드 실행 시 몽고db 쪽에서 오류가 나는데 검색 결과 버전 문제인 듯하여 책에 나온 버전으로 재설치하려고 함.

codeing999 commented 1 year ago
{"t":{"$date":"2022-11-14T15:19:25.693+09:00"},"s":"F",  "c":"CONTROL",  "id":20573,   "ctx":"initandlisten","msg":"Wrong mongod version","attr":{"error":"UPGRADE PROBLEM: Found an invalid featureCompatibilityVersion document (ERROR: BadValue: Invalid value for version, found 6.0, expected '4.4' or '4.2'. Contents of featureCompatibilityVersion document in admin.system.version: { _id: \"featureCompatibilityVersion\", version: \"6.0\" }. See https://docs.mongodb.com/master/release-notes/4.4-compatibility/#feature-compatibility.). If the current featureCompatibilityVersion is below 4.2, see the documentation on upgrading at https://docs.mongodb.com/master/release-notes/4.4/#upgrade-procedures."}}

4.4로 내린 후에 뜨는 에러. 여러 로그들 중에 "s":"F" 이렇게 표시된 줄이 실패한 원인줄인 듯 하다. 이 때의 저 F가 Fail.

codeing999 commented 1 year ago

해당 에러는, 몽고db는 재설치했지만 data/db 폴더의 내용에 전에 있던 6.x버전이 만들어놓은 파일들을 지우지 않아서 생긴 것이었다. 해당 파일들을 지우니 해결되었고 image 몽고db 캠퍼스로도 연결 잘 되는 것을 확인. 여기까지는 6.x버전으로도 됐던 것으로, 이제 코드에서도 잘 연결 되는지 확인해보아야 함

codeing999 commented 1 year ago
몽고디비 연결 에러 MongoParseError: option usecreateindex is not supported

이 에러는

      useCreateIndex: true,

위 코드 때문에 나타나는데 책에는 없고 제공되는 코드에만 있는 것으로 확인 해당 코드를 지우니 해당 에러 해결

codeing999 commented 1 year ago

image 앱을 실행하면 몇초 후에 연결이 끊겼다는 에러 발생

codeing999 commented 1 year ago

image

드디어 연결 성공.

일단 설치 후의 과정을 정리하자면

  1. 몽고db설치경로/bin 을 환경변수로 등록.
  2. 콘솔에서 mongod 를 입력하여 db 실행
  3. 다른 콘솔창을 열고 mongo를 입력. 프롬프트가 >로 바뀐 뒤,
    use admin
    db.createUser({user:'이름', pwd:'비밀번호', roles:['root']})

    를 입력하여 계정 생성 (이는 최초에만 하면 됨)

여기까지는 책에 나온 내용이고. 이후에 에러가 나던 부분은 검색 결과,

const MONGO_URL = `mongodb://${MONGO_ID}:${MONGO_PASSWORD}@localhost:27017/admin`;

이부분에서 localhost를 127.0.0.1로 바꾸면 해결되었다.