Collections 通过querybuilder更新Cassandra映射值

Collections 通过querybuilder更新Cassandra映射值,collections,cassandra-2.0,Collections,Cassandra 2.0,Cassandra支持按语法更新集合中的特定值 ALTER TABLE users ADD todo map<timestamp, text> UPDATE users SET todo['2012-10-2 12:00'] = 'throw my precious into mount doom' WHERE user_id = 'frodo'; ALTER TABLE用户添加todo映射 更新用户设置为['2012-10-2 12:00']=“将我的宝贝扔进厄运山” 其中

Cassandra支持按语法更新集合中的特定值

ALTER TABLE users ADD todo map<timestamp, text>

UPDATE users SET todo['2012-10-2 12:00'] = 'throw my precious into mount doom'
  WHERE user_id = 'frodo';
ALTER TABLE用户添加todo映射
更新用户设置为['2012-10-2 12:00']=“将我的宝贝扔进厄运山”
其中user_id='frodo';


没有看到任何使用QueryBuilder更新映射中特定行的示例。如何做到这一点?

我想你有几个选择

1/基于CQL查询构建您自己的查询。

示例:假设您有一个名为“交互”的表,并且在您的架构中有一个名为“属性”的类型列。p>

String update ="UPDATE demo.Interactions SET attributes=attributes + {'i':'j'} where id='ff';   
SimpleStatement statement = new SimpleStatement(update);
session.execute(statement);
2/使用Java API。

JavaAPI实际上并没有文档化。 让我们举个例子

a-使用queryBuilder创建更新对象

Update update = QueryBuilder.update(keyspace, tableName); 
b-然后填充“put”或“putAll”函数。put/putAll将添加/更新内容

  update.with(QueryBuilder.putAll(key, map));
要删除密钥,请将密钥的内容设置为null,如:

for (Object item : map.keySet()) {                    
  update.with(
    QueryBuilder.put(columName, item, null)
  );
}
然后执行查询

以下方法可用于不同类型:
名单:

设置:

地图:

这份清单并不详尽。 如果找不到要查找的内容,请查看QueryBuilder类


向卡桑德拉问好,祝你好运。

我想你有几个选择

1/基于CQL查询构建您自己的查询。

示例:假设您有一个名为“交互”的表,并且在您的架构中有一个名为“属性”的类型列。p>

String update ="UPDATE demo.Interactions SET attributes=attributes + {'i':'j'} where id='ff';   
SimpleStatement statement = new SimpleStatement(update);
session.execute(statement);
2/使用Java API。

JavaAPI实际上并没有文档化。 让我们举个例子

a-使用queryBuilder创建更新对象

Update update = QueryBuilder.update(keyspace, tableName); 
b-然后填充“put”或“putAll”函数。put/putAll将添加/更新内容

  update.with(QueryBuilder.putAll(key, map));
要删除密钥,请将密钥的内容设置为null,如:

for (Object item : map.keySet()) {                    
  update.with(
    QueryBuilder.put(columName, item, null)
  );
}
然后执行查询

以下方法可用于不同类型:
名单:

设置:

地图:

这份清单并不详尽。 如果找不到要查找的内容,请查看QueryBuilder类


向卡桑德拉问好,祝你好运。

我想你有几个选择

1/基于CQL查询构建您自己的查询。

示例:假设您有一个名为“交互”的表,并且在您的架构中有一个名为“属性”的类型列。p>

String update ="UPDATE demo.Interactions SET attributes=attributes + {'i':'j'} where id='ff';   
SimpleStatement statement = new SimpleStatement(update);
session.execute(statement);
2/使用Java API。

JavaAPI实际上并没有文档化。 让我们举个例子

a-使用queryBuilder创建更新对象

Update update = QueryBuilder.update(keyspace, tableName); 
b-然后填充“put”或“putAll”函数。put/putAll将添加/更新内容

  update.with(QueryBuilder.putAll(key, map));
要删除密钥,请将密钥的内容设置为null,如:

for (Object item : map.keySet()) {                    
  update.with(
    QueryBuilder.put(columName, item, null)
  );
}
然后执行查询

以下方法可用于不同类型:
名单:

设置:

地图:

这份清单并不详尽。 如果找不到要查找的内容,请查看QueryBuilder类


向卡桑德拉问好,祝你好运。

我想你有几个选择

1/基于CQL查询构建您自己的查询。

示例:假设您有一个名为“交互”的表,并且在您的架构中有一个名为“属性”的类型列。p>

String update ="UPDATE demo.Interactions SET attributes=attributes + {'i':'j'} where id='ff';   
SimpleStatement statement = new SimpleStatement(update);
session.execute(statement);
2/使用Java API。

JavaAPI实际上并没有文档化。 让我们举个例子

a-使用queryBuilder创建更新对象

Update update = QueryBuilder.update(keyspace, tableName); 
b-然后填充“put”或“putAll”函数。put/putAll将添加/更新内容

  update.with(QueryBuilder.putAll(key, map));
要删除密钥,请将密钥的内容设置为null,如:

for (Object item : map.keySet()) {                    
  update.with(
    QueryBuilder.put(columName, item, null)
  );
}
然后执行查询

以下方法可用于不同类型:
名单:

设置:

地图:

这份清单并不详尽。 如果找不到要查找的内容,请查看QueryBuilder类


向卡桑德拉问好,祝你好运。

1。这似乎是一个卡桑德拉问题,而不是一个Spring数据卡桑德拉问题。这似乎根本不是一个问题。这似乎是一个卡桑德拉问题,而不是一个Spring数据卡桑德拉问题。这似乎根本不是一个问题。这似乎是一个卡桑德拉问题,而不是一个Spring数据卡桑德拉问题。这似乎根本不是一个问题。这似乎是一个卡桑德拉问题,而不是一个Spring数据卡桑德拉问题。这似乎根本不是一个问题。