Incremental field spring-data-mongo with Kotlin

Posted by


We develop a tree view. We want to have an incremental number for the new node.


class SequenceGeneratorService(val mongoOperations: MongoOperations) {

    fun generateSequence(seqName: String?): Long {
        val counter = mongoOperations.findAndModify(
            Update().inc("seq", 1), FindAndModifyOptions.options().returnNew(true).upsert(true),
        return if (!Objects.isNull(counter)) counter!!.seq else 1



class NodeService(val sequenceGeneratorService: SequenceGeneratorService) {
    fun createNewNode() {
      val node = Node()
      var = sequenceGeneratorService.generateSequence("node_sequence")

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.