1. Основные операции.
-
Создайте коллекцию mongo для класса, реализующего счетчики:
@Serializable data class Count(val name: String, val value: Int = 0)
Добавьте в коллекцию счетчики “Tables”, “Figures”, “Equations”.
Изучите оператор инкремента inc и реализуйте функцию, увеличивающую счетчик на единицу:
fun incCount(countName: String)
Проверьте работу этой функции на следующем примере и сделайте выводы по работе оператора
inc
.incCount("Tables") incCount("Tables") incCount("Equations") incCount("Listings") prettyPrintCursor(counts.find())
Ознакомьтесь с другими Field Update Operators.
-
Прочитайте про опцию upsert функции
update
. Для того чтобы использовать эту опцию в kmongo, посмотрите в среде разработки определение функцииupdateOne
с третьим аргументом типаUpdateOptions
и исходный код классаUpdateOptions
.Реализуйте функцию, которая в случае, если счетчика нет – создает его, если счетчик уже есть – увеличивает его на 1:
fun incOrCreateCount(countName: String)
Протестируйте ее:
incOrCreateCount("Tables") incOrCreateCount("Listings") incOrCreateCount("Listings") prettyPrintCursor(counts.find())
-
Ознакомьтесь со списком Comparison Query Operators.
С помощью операторов этого списка выполните запрос и выведите на экран счетчики, значение которых:
- больше 0;
- больше или равно 1 и меньше или равно 2.
Для выполнения второго пункта используйте kmongo функцию
and
.