Как получить id записи с Kmongo при чтение из коллекции?
Я создал репозиторий MongoRepo
, где при помощи функции create
я добавляю новую запись типа E, но как получить id
записи в функции read
?
При этом я не могу изменить структуру функции или тип возвращаемого результата, или сохранить идентификатор во внешней переменной или списке. Нужно, чтобы именно в read функции был доступ к id записи из MongoDB — это возможно?
Мой репозиторий:
class MongoRepo<E>(private val collection: MongoCollection<E>) : Repo<E> {
override fun create(element: E): Boolean {
collection.insertOne(element)
return true
}
override fun read(): List<Item<E>> {
return collection.find().map { element ->
val itemId = collection.find(Item<E>::elem eq element).toString()
Item(itemId, element)
}.toList()
}
Я попытался использовать Document вместо E type, но это тоже не помогает, и я получаю ошибку сериализации.
Источник: Stack Overflow на русском