인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

Inflearn Community Q&A

DeBuggerKing's profile image
DeBuggerKing

asked

mongoDB from basics to practice (feat. Node.js)

Apply Transaction

트랜잭션 에러

Written on

·

453

0

 let session;

  try {
    session = await mongoose.startSession();
    await session.withTransaction(async () => {
      const user = await User.findById(
        "63b95c6db51919091698cfc6",
        {},
        { session }
      );
      console.log(user);
    });
  } catch (error) {
    console.log(error);
  } finally {
    await session.endSession;
  }

 

알려주신 코드를 기반으로 해서 위와 같이 코드를 작성했는데 아래와 같은 에러가 발생되었습니다. 해결 방법이 어떤게 있을까요?

 

에러

  • MongoServerError: Transaction numbers are only allowed on a replica set member or mongos

데이터 엔지니어링nodejsDBMS/RDBMSjavascriptmongodbrest-apiaws

Answer 1

0

sihoon님의 프로필 이미지
sihoon
Instructor

아틀라스로 몽고디비 클러스터 만드셨나요? 오류메시지에 나와 있듯이 Replica Set구성에서만 Transaction이 지원됩니다. 직접 몽고디비를 설치해서 사용하신것 같은데 단일 인스턴스로 설정하셨을거에요. 직접 Replica set을 관리하기는 쉽지 않기 때문에 아틀라스로 이용하는걸 권장합니다.

DeBuggerKing's profile image
DeBuggerKing

asked

Ask a question