mongodb 컬렉션에서 java를 통해 다른 컬렉션 (또는 존재하는 경우 업데이트)으로 문서를 복사하려고합니다.하나의 컬렉션에서 다른 컬렉션으로 문서 복사 (존재하는 경우 업데이트)
기존 컬렉션의 각 필드를 추가 한 다음 다른 필드에 삽입하고 싶지 않습니다. 어떻게해야합니까?
여기에는 temp
과 national
의 두 가지 컬렉션이 있습니다. temp
에는 하나의 컬렉션 만 있습니다.이 컬렉션은 national
으로 복사하거나 업데이트해야합니다.
MongoCursor<Document> cursor = db.getCollection("temp").find().iterator();
try {
Document doc = new Document(cursor.next());
Document new_doc = new Document("$set",doc);
doc.append("booking_id",cursor.next().get("booking_id"));
MongoCursor<Document> cursor1 = db.getCollection("national").find(doc).iterator();
Bson filter = Filters.eq("booking_id", args);
Bson update = Filters.elemMatch("booking_id", filter);
UpdateOptions options = new UpdateOptions().upsert(true);
national.updateOne(filter, new_doc, options);
}
finally {
cursor.close();
}
그래서 당신이 존재하지 않으면 존재하는 경우와 B를 교체하거나 새로 만들 건가요? – Dada
예, A는 "temp"컬렉션의 문서이고 B는 "national"컬렉션의 문서입니다 –