Laurence
12/03/2020, 7:51 AMbuildscript {
ext.kotlin_version = '1.4.20'
repositories {
jcenter()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "com.github.jengelman.gradle.plugins:shadow:5.0.0"
}
}
plugins {
id 'org.jetbrains.kotlin.jvm' version '1.4.10'
}
apply plugin: 'com.github.johnrengelman.shadow'
tasks.build.dependsOn tasks.shadowJar
shadowJar {
mergeServiceFiles()
}
group 'org.example'
version '1.0-SNAPSHOT'
repositories {
jcenter()
mavenCentral()
}
compileKotlin {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
kotlinOptions {
jvmTarget = "1.8"
}
}
configurations {
invoker
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
// Every function needs this dependency to get the Functions Framework API.
compileOnly 'com.google.cloud.functions:functions-framework-api:1.0.1'
// MongoDB & KMongo
implementation "org.mongodb:mongodb-driver-sync:4.1.1"
implementation 'org.mongodb:mongodb-driver-core:4.1.1'
implementation 'org.mongodb:bson:4.1.1'
implementation 'org.mongodb:mongo-java-driver:3.12.7'
implementation 'org.litote.kmongo:kmongo-coroutine:4.2.0'
implementation "org.slf4j:slf4j-simple:1.7.30"
}
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
test.java.srcDirs += 'src/test/kotlin'
}
Connection code:
import com.mongodb.MongoClientURI
import functions.Conf.Conf.MONGO_CLIENT_URI
import org.litote.kmongo.coroutine.coroutine
import org.litote.kmongo.reactivestreams.KMongo
object Database {
init {
System.setProperty(
"org.litote.mongo.test.mapping.service",
"org.litote.kmongo.jackson.JacksonClassMappingTypeService"
)
}
// get URI for MongoDB client (eg. Mongo Atlas)
private val uri = MongoClientURI(MONGO_CLIENT_URI)
// get client
private val mongoClient = KMongo.createClient(uri.uri)
// get database
val database = mongoClient.getDatabase(uri.database).coroutine
}
kenkyee
12/03/2020, 11:47 AMLaurence
12/03/2020, 2:12 PMkenkyee
12/03/2020, 6:12 PMLaurence
12/03/2020, 6:24 PMkenkyee
12/03/2020, 9:14 PMLaurence
12/04/2020, 7:25 AM