我是 Apache Ignite 的新手。有人可以帮助我了解如何从 ignite 缓存中获取和加载数据吗 使用 Node js 而不使用 sql 字段查询选项。缓存使用 CacheJDBCPOJO Store 加载,Key 和 Value 类型是使用 JAVA 定义的自定义类型。由于这些类是在 Java 中定义的,不确定如何使用 Node 获取数据。
希望下面的例子能够更好地解释这个问题。
我们点燃了自定义键类型的缓存,即具有“个人名”和“姓氏”属性的“个人键”和自定义值类型,即具有“个人地址”和“个人年龄”等属性的“个人信息”。 这些类在 Java 中定义,缓存在 Bean 文件中配置并使用 CacheJDBCPOJO Store 加载。
由于这些类在node js中不可用,我们如何使用cahe.put/cache.get从node js加载/获取数据。尝试在node中创建类似的类并将这些类的对象传递给 cahe.put/cache.get 但它不起作用。
最佳答案
我可以看到以下错误:
ERROR: Binary type has different field types [typeName=OrderId, fieldName=OrderID, fieldTypeName1=long, fieldTypeName2=double] (node:13596)
这可能会通过删除 ignite 工作目录(默认情况下为/tmp/ignite/work 或 ./ignite/work)并重新启动所有 Node 来修复,因此与 node.js 不直接相关
例如,您是否尝试过以下操作: https://apacheignite.readme.io/docs/nodejs-thin-client-binary-types
对于 REST API,它应该默认将 BinaryObject 转换为 JSON,这应该包括所有 SQL 列的值。
更新:事实证明,您必须执行 query.setIncludeFieldNames(true)
才能使 getFieldNames()
返回字段名称。
关于javascript - 使用 Node Express 从 Apache Ignite 获取数据时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60183717/