Как управлять "динамическими структурами данных" в котлине? - PullRequest
0 голосов
/ 02 марта 2019

Я разрабатываю приложение для управления данными для хранилища больших таблиц данных.Я использую kotlin + mongodb.Проблема, с которой я сталкиваюсь, заключается в том, что запрашиваемая структура данных частично неизвестна.Чтобы быть более конкретным, структура данных состоит из некоторых основных полей плюс другие поля, которые могут быть установлены «основными пользователями» во время выполнения.Что касается типа таких «пользовательских полей», я могу использовать строку.Итак, мне нужно использовать своего рода «динамическую структуру», например:

data class BasicInfo (
        val _id :ObjectId,
        var value :String,
        val isAlert :Boolean,
        var subject :String,
// here would need sort of dynamic fields
        var valid :Validity
        )

data class RestrictedInfo (
        val _id :ObjectId,
        var value :String,
// here would need sort of dynamic fields
        var valid :Validity
        )

data class Validity (
        var family :String,
        var year :Int,
        var accessories :Array<String>?
        )

Данные хранятся в mongoDB.Первичные пользователи должны иметь возможность создавать новые поля данных или удалять их.Вы не можете знать, сделают ли они это и сколько нового поля они могут создать.Конечно, приложение должно работать с учетом всех полей данных, присутствующих на момент выполнения, как базовых, так и пользовательских.Я нашел решение этой проблемы, но на самом деле это грубо, поэтому я ищу идеи / помощь от сообщества.

...