我是Apache Ignite.Can的新手,有人帮我介绍了如何在不使用sql字段查询选项的情况下,使用node js从ignite缓存中获取和加载数据。缓存是使用JAVA.As加载的,键和值类型是使用JAVA.As定义的自定义类型,这些类都是用CacheJDBCPOJO定义的,不知道如何使用node来获取数据。
希望下面的例子能更好地解释这个问题。
我们有自定义键类型的ignite缓存,即具有属性Person First Name和Person Last Name的Person Key,以及具有属性person Address和Person Age等属性的自定义值类型,即Person Info。这些类是在Java语言中定义的,缓存在Bean文件中配置,并使用CacheJDBCPOJO存储加载。
由于这些类在节点js中不可用,我们如何使用cahe.put /cache.get.Tried从节点js加载数据并在节点中创建类似的类,并将这些类的对象传递给cahe.put /cache.get,但它不起作用。
发布于 2020-02-13 18:02:01
我可以看到以下错误:
ERROR: Binary type has different field types [typeName=OrderId, fieldName=OrderID, fieldTypeName1=long, fieldTypeName2=double] (node:13596)这可能会通过删除ignite工作目录(默认情况下是/tmp/ignite/ work或./ignite/work )并重新启动所有节点来修复,因此与node.js没有直接关系
举个例子,你有没有尝试过下面的方法:https://apacheignite.readme.io/docs/nodejs-thin-client-binary-types
至于REST API,默认情况下应该将BinaryObject转换为JSON,这应该包括所有SQL列的值。
更新:原来要让getFieldNames()返回字段名,你必须做query.setIncludeFieldNames(true)。
https://stackoverflow.com/questions/60183717
复制相似问题