node.js - 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])"
先感谢您
解决方案
将我之前的评论复制到答案:
调制器需要一个键名而by
不是文字值。就像是
g.V().group().by('createdAt').order(local).by(keys,desc)
或者可能取决于您的数据模型
g.V().order().by('createdAt', order.desc)
推荐阅读
- excel - 在 Application.Evaluate 中使用多个 UDF 函数
- android - SDK 是否内置了滑动检测功能?
- dart - 未在静态属性上调用构造函数
- ios - UIScrollView 不工作/错误宽度和高度
- c++ - C6001:未初始化存储正在使用,虽然我这样做了
- sql - 将 OFFSET 和 FETCH 与 ORDER BY 子句和 CASE 子句一起使用
- c++ - cppitertools:如何结合 iter::enumerate 和 iter::filter?
- c# - 如何在表单之间发送 ENUM?
- svg - 如何在 SVG 的形状内添加点击事件?
- c - 以 EOF 结尾的 fgets 循环跳过下一个 fgets