
executeWriteCommand를 사용할 수 없게 된 이유는 Invalid write concern 오류로 인해 발생한 것입니다. 이 오류는 write concern이 설정되지 않았거나, 잘못된 write concern이 설정된 경우에 발생합니다.
해결 방법은 다음과 같습니다.
1. Write concern을 설정하십시오. WriteConcern.ACKNOWLEDGED를 사용하여 write concern을 설정할 수 있습니다.
#hostingforum.kr
java
WriteConcern writeConcern = WriteConcern.ACKNOWLEDGED;
collection.insertOne(document, writeConcern);
2. executeWriteCommand를 사용하지 마십시오. insertOne 메소드를 사용하여 데이터를 삽입할 수 있습니다.
#hostingforum.kr
java
collection.insertOne(document);
3. MongoDB의 버전을 확인하십시오. MongoDB 3.6부터 write concern이 기본적으로 설정됩니다. 따라서 executeWriteCommand를 사용할 수 없게 된 것입니다.
#hostingforum.kr
java
MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017");
MongoDatabase mongoDatabase = mongoClient.getDatabase("mydatabase");
MongoCollection collection = mongoDatabase.getCollection("mycollection");
Document document = new Document("_id", 1)
.append("name", "John")
.append("age", 30);
WriteConcern writeConcern = WriteConcern.ACKNOWLEDGED;
collection.insertOne(document, writeConcern);
4. MongoDB의 버전을 업그레이드하십시오. MongoDB 3.6 이상의 버전을 사용하여 executeWriteCommand를 사용할 수 있습니다.
#hostingforum.kr
java
MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017");
MongoDatabase mongoDatabase = mongoClient.getDatabase("mydatabase");
MongoCollection collection = mongoDatabase.getCollection("mycollection");
Document document = new Document("_id", 1)
.append("name", "John")
.append("age", 30);
WriteConcern writeConcern = WriteConcern.ACKNOWLEDGED;
collection.executeWriteCommand(new Command(BsonDocument.parse("{"insert: 'mycollection', documents: [{" +
""id: 1," +
""name: 'John'," +
""age: 30" +
""}]}"), writeConcern));
5. MongoDB의 버전을 확인하고, 버전이 3.6 이하인 경우, write concern을 설정하지 않도록 하십시오.
#hostingforum.kr
java
MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017");
MongoDatabase mongoDatabase = mongoClient.getDatabase("mydatabase");
MongoCollection collection = mongoDatabase.getCollection("mycollection");
Document document = new Document("_id", 1)
.append("name", "John")
.append("age", 30);
collection.insertOne(document);
2025-03-21 06:28