Pis*_*hio 6 javascript dictionary gremlin janusgraph
我正在用 Javascript 查询数据库,并返回一个 Map 对象。问题在于映射中某些条目的键是一个对象,准确地说是一个 EnumValue。
我似乎找不到直接检索此类条目的方法。我唯一想到的是迭代地图的每个键并检查它是否是一个对象。
因此,如果我 console.log 从查询中获得的输出,它看起来像这样:
Map {
EnumValue { typeName: 'T', elementName: 'label' } => 'user',
'gender' => [ 'f' ],
'identityid' => [ '2349fd9f' ],
'name' => [ 'Erika' ],
'email' => [ 'test1@test.com' ],
EnumValue { typeName: 'T', elementName: 'id' } => 4136,
'lastname' => [ 'Delgato' ]
}
Run Code Online (Sandbox Code Playgroud)
我已经天真地尝试使用这样的方法来获取条目:
Map {
EnumValue { typeName: 'T', elementName: 'label' } => 'user',
'gender' => [ 'f' ],
'identityid' => [ '2349fd9f' ],
'name' => [ 'Erika' ],
'email' => [ 'test1@test.com' ],
EnumValue { typeName: 'T', elementName: 'id' } => 4136,
'lastname' => [ 'Delgato' ]
}
Run Code Online (Sandbox Code Playgroud)
但当然它返回未定义。
有任何想法吗?
因此,为了节省其他遇到此问题的人的时间,我将在这里编写解决方案。
此问题特定于使用 gremlin javascript 客户端(此处使用的版本 3.4.2)在 Janusgraph 数据库中检索值。
将 valueMap(true) 附加到遍历时,结果就是我发布的问题中的结果。通过 gremlin 库,我发现在 gremlin.process.t 的对象 t 中可以找到这个 EnumValues:
id
key
label
value
Run Code Online (Sandbox Code Playgroud)
然后使用 id 或 label 就可以直接检索那些令人讨厌的键的值。
一个例子:
id
key
label
value
Run Code Online (Sandbox Code Playgroud)