首页 > 解决方案 > Gremlin Javascript 按功能排序

问题描述

我使用 gremlin-javascript(在 aws Neptune 中)遍历远程图并获取顶点列表。我想按createdAt日期属性对顶点进行排序。但由于我有多个 order().by(),我想按周对它们进行分组。

const gremlin = require('gremlin')
const moment = require('moment')

const { Graph } = gremlin.structure
const { DriverRemoteConnection } = gremlin.driver
const __ = gremlin.process.statics
const { order } = gremlin.process


const getWeek = date => parseInt(moment(date).format('YYYYWW'), 10)

const graph = new Graph()
const dc = new DriverRemoteConnection(endpointNeptune)
const g = graph.traversal().withRemote(dc)

g.V().order().by(getWeek(__.values('createdAt')), order.decr)

但这会引发错误:"Could not locate method: NeptuneGraphTraversal.by([202029, decr])"

先感谢您

标签: node.jsgremlintinkerpopamazon-neptune

解决方案


将我之前的评论复制到答案:

调制器需要一个键名而by不是文字值。就像是

g.V().group().by('createdAt').order(local).by(keys,desc)

或者可能取决于您的数据模型

g.V().order().by('createdAt', order.desc)

推荐阅读