我想知道如何使用 CQL 将新列插入一行...
可能吗?如果没有,我如何使用 Fluent Cassandra 轻松做到这一点?
谢谢。
CQL 希望您预先定义您的模式。如果您需要动态模式,则必须使用基于 Thrift 的客户端之一。Fluent Cassandra 支持这一点;在这里检查。
使用 FluentCassandra:
dbcontext.ExecuteNonQuery("update TargetColumnFamily set 'ColumnName'='ColumnValue'
where keyname='RowKeyValue'")
在我的测试中,我发现如果它不存在,它将创建该行。不知道如何针对非文本进行调整。
使用 FluentCassandra,您可以很容易地向现有行添加新列:
var cFamily = db.GetColumnFamily("TestCF");
cFamily.InsertColumn(rowKey, columnName, columnValue);
或者,您可以这样做:
var cFamily = db.GetColumnFamily("TestCF");
var record = cFamily.CreateRecord(existingRowKey) //record already exists
record[newColumnName] = newColumnValue;