首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Neptune DB不会将属性值更改为以前的值

Neptune DB不会将属性值更改为以前的值
EN

Stack Overflow用户
提问于 2021-09-03 03:29:08
回答 1查看 208关注 0票数 3

我对AWS Neptune DB有个很奇怪的问题。我只能将属性更改为新值,不能使用以前的任何名称。

我用的是gremlin和node.js。

这听起来很奇怪,所以让我添加一些代码:

代码语言:javascript
复制
  const DriverRemoteConnection = gremlin.driver.DriverRemoteConnection;
  const dc = new DriverRemoteConnection(process.env.DB_URL, { authenticator, connectOnStartup: false });
  await dc.open();
  const g = gremlin.process.AnonymousTraversalSource.traversal().withRemote(dc);

  await g.V().hasLabel('Wtf').drop().iterate();
  await g.addV('Wtf').property('test', 'foo').iterate()
  await g.V().hasLabel('Wtf').property('test', 'bar foo').iterate();
  await g.V().hasLabel('Wtf').property('test', 'foo').iterate();

  const wtf = await g.V().hasLabel('Wtf').elementMap().toList();
  console.log(wtf);

所以我想我应该有这样的回应:

代码语言:javascript
复制
  Map(3) {
    EnumValue { typeName: 'T', elementName: 'id' } => '7cbdd4d6-9d72-905f-c4b1-0ee9a31db29a',
    EnumValue { typeName: 'T', elementName: 'label' } => 'Wtf',
    'test' => 'foo'
  }

但我有:

代码语言:javascript
复制
  Map(3) {
    EnumValue { typeName: 'T', elementName: 'id' } => '7cbdd4d6-9d72-905f-c4b1-0ee9a31db29a',
    EnumValue { typeName: 'T', elementName: 'label' } => 'Wtf',
    'test' => 'bar foo'
  }

有趣的是,如果我使用的是任何一个单词(没有空格)而不是bar foo,那么我就得到了正确的结果。当我一个接一个地查询数据库时,我也会遇到同样的问题。有人看到这样的问题了吗?你知道怎么解决吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-03 03:38:51

默认情况下,海王星使用集合基数。每次添加值时,都要扩展该集,因为您没有显式地使用Cardinality.single。此外,elementMap将只返回集合基数属性的一个元素。要看到他们都使用valueMap代替。

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

https://stackoverflow.com/questions/69039151

复制
相关文章

相似问题

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