Фантомная точка в ключах карты, загруженная из mongodb
У меня есть объект со следующими полями:
var name: String?,
var metadata: org.bson.Document?,
var things: Map<String, MyObject> = mapOf(),
var other_things: Map<String, MyObject> = mapOf(),
@Indexed(unique = true) var hash: String?
Ключи things
а также other_things
хеши их соответствующих MyObject
объекты. Хэши не содержат точек в них. Когда я сохраняю сущность - карты корректно сериализуются и сохраняются в mongodb.
Пример карты - взят прямо из моей консоли Монго (я замаскировал MyObject
полей...):
{
"0xa5643bf27e2786816613d3eeb0b62650200b5a98766dfcfd4428f296fb56d043": {
"field": true,
"field1": [
{
"field1field": "foo",
"field1field1": "",
"field1field2": false
}
],
"field2": "sam",
"field3": []
},
"0xfce353f601a3db60cb33e4b6ef4f91e4465eaf93c292b64fcde1bf4ba6819b6a": {
"field": true,
"field1": [
{
"field1field": "bash",
"field1field1": "",
"field1field2": true
}
],
"field2": "bar",
"field3": []
},
"0xcdcd77c0992ec5bbfc459984220f8c45084cc24d9b6efed1fae540db8de801d2": {
"field": true,
"field1": [
{
"field1field": "mash",
"field1field1": "",
"field1field2": false
}
],
"field2": "baz",
"field3": []
}
}
Однако, когда я извлекаю сущность и печатаю ключи любой карты - возникает .
перед каждым ключом, т. е. на выходе println(entity.things.keys)
является
[.0xa5643bf27e2786816613d3eeb0b62650200b5a98766dfcfd4428f296fb56d043, .0xfce353f601a3db60cb33e4b6ef4f91e4465eaf93c292b64fcde1bf4ba6819b6a, .0xcdcd77c0992ec5bbfc459984220f8c45084cc24d9b6efed1fae540db8de801d2]
Я не знаю, что здесь происходит, кто-то может уточнить?
NB карты были ранее Map<String, String>
и у меня не было этой проблемы
РЕДАКТИРОВАТЬ Я изменил things
а также other_things
быть List<MySuperObject>
который имеет 2 поля типа String
а также MyObject
который слегка меняет структуру в mongodb (сохраняется как массив) - фантом .
ушел - но это не отвечает на первоначальный вопрос...