
해당 오류는 MongoDBDriverManager::close() 함수를 호출하여 연결을 닫은 후에 executeReadCommand 함수를 호출하는 경우에 발생합니다.
이유는 MongoDBDriverManager::close() 함수는 모든 연결을 닫기 때문에, 이후에 executeReadCommand 함수를 호출하는 것은 의미가 없으며 오류가 발생합니다.
해결 방법은 MongoDBDriverManager::close() 함수를 호출하기 전에 executeReadCommand 함수를 호출하는 것입니다.
또한, MongoDBDriverManager::close() 함수를 호출하기 전에 모든 작업을 완료한 후에 호출하는 것을 권장합니다.
예를 들어, 다음과 같이 코드를 수정할 수 있습니다.
java
MongoDBDriverManager mongoDBDriverManager = new MongoDBDriverManager();
MongoDatabase mongoDatabase = mongoDBDriverManager.getMongoDatabase();
MongoCollection mongoCollection = mongoDatabase.getCollection("test_collection");
BsonDocument filter = new BsonDocument("name", "test_name");
BsonDocument readPreference = new BsonDocument("readPreference", "primary");
BsonDocument readConcern = new BsonDocument("readConcern", new BsonDocument("level", "local"));
BsonDocument options = new BsonDocument("$readPreference", readPreference).append("$readConcern", readConcern);
BsonDocument result = mongoCollection.find(filter).first().toBsonDocument();
// 모든 작업이 완료된 후에 close() 함수를 호출합니다.
mongoDBDriverManager.close();
이러한 방법으로, MongoDBDriverManager::close() 함수를 호출하기 전에 모든 작업을 완료한 후에 호출하는 것을 권장합니다.
2025-07-11 17:13