MongoDB에 데이터 쓰기
개요
이 페이지에서는 코틀린 동기 (Kotlin Sync) 운전자 를 사용하여 MongoDB 에 데이터를 쓰기 (write) 데 사용할 수 있는 일반적인 메서드의 복사 가능한 코드 예제를 확인할 수 있습니다.
팁
이 페이지에 표시된 메서드에 대해 자세히 알아보려면 각 섹션에 제공된 링크를 참조하세요.
이 페이지의 예제를 사용하려면 코드 예제를 샘플 애플리케이션 또는 자체 애플리케이션에 복사합니다. 코드 예제의 모든 자리 표시자(예: <connection string URI>
)를 MongoDB 배포에 필요한 관련 값으로 바꿔야 합니다.
샘플 애플리케이션
다음 샘플 애플리케이션을 사용하여 이 페이지의 코드 예제를 테스트할 수 있습니다. 샘플 애플리케이션을 사용하려면 다음 단계를 수행하세요.
Maven 또는 Gradle 프로젝트 에 코틀린 동기 (Kotlin Sync) 운전자 가 설치되어 있는지 확인합니다.
다음 코드를 복사하여 새
.kt
파일에 붙여넣습니다.이 페이지에서 코드 예제를 복사하여 파일의 지정된 줄에 붙여넣습니다.
1 import com.mongodb.ConnectionString 2 import com.mongodb.MongoClientSettings 3 import com.mongodb.client.model.* 4 import com.mongodb.kotlin.client.* 5 import org.bson.Document 6 7 fun main() { 8 val uri = "<connection string URI>" 9 10 val settings = MongoClientSettings.builder() 11 .applyConnectionString(ConnectionString(uri)) 12 .retryWrites(true) 13 .build() 14 15 // Create a new client and connect to the server 16 val mongoClient = MongoClient.create(settings) 17 val database = mongoClient.getDatabase("<database name>") 18 val collection = database.getCollection<Document>("<collection name>") 19 20 // Start example code here 21 22 // End example code here 23 }
insertOne
다음 코드는 단일 문서 를 컬렉션 에 삽입하는 방법을 보여줍니다.
val result = collection.insertOne(Document("<field name>", "<value>")) print(result.insertedId)
insertOne()
메서드에 학습 보려면 문서 삽입 가이드 를 참조하세요.
여러 항목 삽입
다음 코드는 컬렉션 에 여러 문서를 삽입하는 방법을 보여줍니다.
val docList = listOf( Document("<field name>", "<value>"), Document("<field name>", "<value>") ) val result = collection.insertMany(docList) print(result.insertedIds)
insertMany()
메서드에 대해 자세히 알아보려면 문서 삽입 가이드를 참조하세요.
UpdateOne
다음 코드는 필드 를 만들거나 편집하여 컬렉션 의 단일 문서 를 업데이트 하는 방법을 보여줍니다.
val query = Filters.eq("<field to match>", "<value to match>") val update = Updates.set("<field name>", "<value>") val result = collection.updateOne(query, update) print(result.modifiedCount)
updateOne()
메서드에 대해 자세히 알아보려면 문서 업데이트 가이드를 참조하세요.
다중 업데이트
다음 코드는 필드 를 만들거나 편집하여 컬렉션 에 있는 여러 문서를 업데이트 하는 방법을 보여줍니다.
val query = Filters.eq("<field to match>", "<value to match>") val update = Updates.set("<field name>", "<value>") val result = collection.updateMany(query, update) print(result.modifiedCount)
updateMany()
메서드에 대해 자세히 알아보려면 문서 업데이트 가이드를 참조하세요.
replaceOne
다음 코드는 컬렉션 의 단일 문서 를 새 문서 로 바꾸는 방법을 보여줍니다.
val query = Filters.eq("<field to match>", "<value to match>") val replacement = Document("<new document field name>", "<new document value>") val result = collection.replaceOne(query, replacement) print(result.modifiedCount)
replaceOne()
메서드에 대해 자세히 알아보려면 문서 교체 가이드를 참조하세요.
deleteOne
다음 코드는 컬렉션 에서 단일 문서 를 삭제 하는 방법을 보여줍니다.
val query = Filters.eq("<field to match>", "<value to match>") val result = collection.deleteOne(query) print(result.deletedCount)
deleteOne()
메서드에 대해 자세히 알아보려면 문서 삭제 가이드를 참조하세요.
여러 항목 삭제
다음 코드는 컬렉션 에서 여러 문서를 삭제 하는 방법을 보여줍니다.
val query = Filters.eq("<field to match>", "<value to match>") val result = collection.deleteMany(query) print(result.deletedCount)
deleteMany()
메서드에 대해 자세히 알아보려면 문서 삭제 가이드를 참조하세요.
대량 쓰기
다음 코드는 단일 대량 작업으로 여러 쓰기 (write) 작업을 수행하는 방법을 보여줍니다.
val bulkOps = listOf( InsertOneModel(Document("<field name>", "<value>")), UpdateOneModel( Filters.eq("<field to match>", "<value to match>"), Updates.set("<field name>", "<value>")), DeleteOneModel(Filters.eq("<field to match>", "<value to match>")) ) val result = collection.bulkWrite(bulkOps) print(result)
bulkWrite()
메서드에 대해 자세히 알아보려면 대량 쓰기 가이드를 참조하세요.