0
我只是试图在Kotlin中做一个干净的虚拟项目来练习,但是像Kotlin一样,插入方法也是如此。我想它会以其他方式插入并取回项目,而不是以前提出2个请求的方式。Kotlin Kmongo插入并返回插入的项目
fun insert(book: Book) : Book? {
getByEan(book.EAN)?.let {
return null
}
mongo.collection.insertOne(book)
return getByEan(book.EAN)
}
因此,在这种情况下,我做了一个预查不使用相同的EAN物品,然后,如果成功则返回插入的项目。
它可以更简单吗?也许预先检查与索引或以某种方式取回插入的项目没有新的要求?
从技术上讲,实际返回文档的唯一方法是使用“.findOneAndUpdate()”方法设置“upsert”选项。问题是,如果你“插入”文件,那么你肯定已经拥有了内容。因此,因为'.insert()'将返回新的'_id'值,这实际上应该是您没有的数据库中唯一的信息。不是吗?如果您有其他数据是“唯一”的,那么将其用于'_id'或者创建一个“唯一索引”来阻止它首先创建重复信息。 –
谢谢!你明白了!我现在看到我应该怎么做。 – Guigreg