Kotlin Kmongo插入并返回插入的项目

我只是试图在Kotlin上做一个干净的虚拟项目来练习,但是Kotlin和插入方法一样。 我想这将是一些其他的方式来插入和返回项目不是旧的方式来提出2个请求。

fun insert(book: Book) : Book? { getByEan(book.EAN)?.let { return null } mongo.collection.insertOne(book) return getByEan(book.EAN) } 

所以在这种情况下,我做了一个预先检查,以不对相同的EAN项目,然后如果成功,然后返回插入的项目。

它可以更简单吗? 也许预先检查与索引或以某种方式取回插入的项目没有新的要求?

 fun insert(book: Book) : Book? { getByEan(book.EAN)?.let { return null } return book.apply { mongo.collection.insertOne(book) } } data class Book(val name: String, val EAN: Int, val author: String, val _id: String? = null) 

通过在插入后向数据模型添加_id字段,它将使用生成的ID设置值。 在这种情况下,这个代码片段将返回插入的对象,因为我想要没有一个加请求数据库。