-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
트랜잭션 에러
23.01.07 22:12 작성 조회수 298
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
답변을 작성해보세요.
0
김시훈
지식공유자2023.01.07
아틀라스로 몽고디비 클러스터 만드셨나요? 오류메시지에 나와 있듯이 Replica Set구성에서만 Transaction이 지원됩니다. 직접 몽고디비를 설치해서 사용하신것 같은데 단일 인스턴스로 설정하셨을거에요. 직접 Replica set을 관리하기는 쉽지 않기 때문에 아틀라스로 이용하는걸 권장합니다.
답변 1