diff --git a/src/main/asciidoc/index.adoc b/src/main/asciidoc/index.adoc index 5d3727c59..66dfee37c 100644 --- a/src/main/asciidoc/index.adoc +++ b/src/main/asciidoc/index.adoc @@ -29,6 +29,7 @@ include::reference/reactive-mongo-repositories.adoc[leveloffset=+1] include::{spring-data-commons-docs}/auditing.adoc[leveloffset=+1] include::reference/mongo-auditing.adoc[leveloffset=+1] include::reference/mapping.adoc[leveloffset=+1] +include::reference/kotlin.adoc[leveloffset=+1] include::reference/cross-store.adoc[leveloffset=+1] include::reference/jmx.adoc[leveloffset=+1] include::reference/mongo-3.adoc[leveloffset=+1] diff --git a/src/main/asciidoc/reference/kotlin.adoc b/src/main/asciidoc/reference/kotlin.adoc new file mode 100644 index 000000000..73f9a3924 --- /dev/null +++ b/src/main/asciidoc/reference/kotlin.adoc @@ -0,0 +1,29 @@ +include::../{spring-data-commons-docs}/kotlin.adoc[] + +include::../{spring-data-commons-docs}/kotlin-extensions.adoc[leveloffset=+1] + +To retrieve a list of `SWCharacter` objects in Java, you would normally write the following: + +[source,java] +---- +Flux characters = template.find(SWCharacter.class).inCollection("star-wars").all() +---- + +With Kotlin and the Spring Data extensions, you can instead write the following: + +[source,kotlin] +---- +val characters = template.find().inCollection("star-wars").all() +// or (both are equivalent) +val characters : Flux = template.find().inCollection("star-wars").all() +---- + +As in Java, `characters` in Kotlin is strongly typed, but Kotlin's clever type inference allows for shorter syntax. + +Spring Data MongoDB provides the following extensions: + +* Reified generics support for `MongoOperations`, `ReactiveMongoOperations`, `FluentMongoOperations`, `ReactiveFluentMongoOperations`, and `Criteria`. +* <> +* <> extensions for `ReactiveFluentMongoOperations`. + +include::../{spring-data-commons-docs}/kotlin-coroutines.adoc[leveloffset=+1]