首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在gremlin-node.js/gremlin-server中设置属性

在gremlin-node.js/gremlin-server中设置属性
EN

Stack Overflow用户
提问于 2021-01-30 18:01:27
回答 1查看 351关注 0票数 0

我想用gremlin的javascript驱动程序从node.js后端在gremlin服务器中创建一个图。由于我添加了两个属性,一个id和一个用户名,这个id正在工作,用户名不被存储。以下是代码:

代码语言:javascript
复制
const gremlin = require('gremlin');

const traversal = gremlin.process.AnonymousTraversalSource.traversal;
const DriverRemoteConnection = gremlin.driver.DriverRemoteConnection;

const g = traversal().withRemote(new DriverRemoteConnection('ws://localhost:8182/gremlin'));

const { t: { id } } = gremlin.process;
const { cardinality: { single} } = gremlin.process;

    async function createUser(userid,username) {
        const vertex = await
            g.addV('User')
            .property(id,userid)
            .property(single,'username',username)
            .iterate();
        return vertex;
    }
await createUser(1001,"testuser")

输出是(当我使用g.V(1001).listAll();搜索节点时),属性总是undefined

代码语言:javascript
复制
[Vertex { id: 1001, label: 'User', properties: undefined }]

gremlin服务器使用以下命令加载/运行了docker:

  • docker pull tinkerpop/gremlin-server
  • docker run -d -p 8182:8182 --name gremlin tinkerpop/gremlin-server
  • node.js中的gremlin驱动程序有一个版本:"gremlin": "^3.4.10",

我尝试了上面的基数单,添加了更多的属性,但是non正在工作。互联网搜索显示了一些gremlin控制台(Groovy)使用.property步骤的工作示例,但没有提示gremlin和gremlin服务器的node.js组合驱动程序。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-01 12:48:08

我认为您的代码运行良好,并且存在这些属性。问题是从查询中返回的图形元素仅仅是“引用”--意思是,它们只包含id和label,而不包含属性。您应该将结果转换为使用像Map这样的通用容器,使用像elementMap()这样的步骤。您可以在不同地方的文档中找到关于这一点的更多讨论,但也许从开始,如果您对为什么会这样以及更改它涉及哪些挑战更感兴趣,请参见

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65971411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档