При использовании ignite в качестве встроенной базы данных в Java мы можем использовать пространственное расширение и JTS, чтобы сделать пространственные запросы возможными. Теперь предположим, что мы используем демон Ignite как автономное хранилище, и нам нужно использовать его пространственные возможности. Когда геопространственные расширения включены, мы должны сначала создать кеш с географическими типами, чтобы иметь возможность запрашивать базу данных. Как мы можем использовать JSTS для этой задачи?
Например, мы можем создать кеш, используя следующие строки:
const cache = await igniteClient.getOrCreateCache('myCache');
// set cache key/value types
cache.setKeyType(ObjectType.PRIMITIVE_TYPE.INTEGER).
setValueType(new MapObjectType(
MapObjectType.MAP_SUBTYPE.LINKED_HASH_MAP,
ObjectType.PRIMITIVE_TYPE.SHORT,
ObjectType.PRIMITIVE_TYPE.BYTE_ARRAY));
Как вы можете видеть, типы - это простые первичные типы или типы хэш-карты. Что делать, если мне нужно сохранить, например Значения очков? Можем ли мы использовать JSTS? Есть ли другой способ использовать двоичный протокол для этой задачи?
Вы можете использовать Node.js Тонкий клиент. Он поддерживает выполнение SQL-запросов в Ignite, а в Ignite SQL есть геопространственная поддержка.
Итак, следуйте документации по геопространственному SQL, чтобы узнать, как его использовать, а затем запускайте пространственные SQL-запросы из Node.js.