【问题标题】:How to insert json object containing $ as value in Cassandra如何在 Cassandra 中插入包含 $ 作为值的 json 对象
【发布时间】:2018-11-20 04:56:51
【问题描述】:

我必须通过 datastax 在 cassandara db 中添加几个值作为货币,其中一个具有 $ 作为值。但它失败了。

INSERT INTO concept_value_set (concept_name,value_set) 
    VALUES ('@CurrencyType',{'Dollar', 'Usd', 'Euro', 
    'Pound', 'Frank', 'Renminbi', '$'});

这会导致系统出现问题。

我尝试使用 $ 逃避

INSERT INTO concept_value_set (concept_name,value_set) 
   VALUES ('@CurrencyType',{'Dollar', 'Usd', 'Euro', 
   'Pound', 'Frank', 'Renminbi', '$$'});

但它也失败了。

有没有办法在这里逃脱$。我找不到任何合适的链接。

【问题讨论】:

    标签: cassandra cql cassandra-3.0


    【解决方案1】:

    我不认为美元符号是你的问题。我认为这是 JSON 值如何使用单引号。重建你的表(根据提供的信息),我想出了这个结构:

    CREATE TABLE concept_value_set (
      concept_name TEXT PRIMARY KEY,
      value_set TEXT);
    

    我能够让它工作:

    cassdba@cqlsh:stackoverflow> INSERT INTO concept_value_set JSON '{
        "\"concept_name\"":"@CurrencyType",
        "\"value_set\"":"Dollar, Usd, Euro, Pound, Frank, Renminbi, $"}';
    

    现在,我可以在表中查询 TEXT:

    cassdba@cqlsh:stackoverflow> SELECT * FROM concept_value_set
                                 WHERE concept_name='@CurrencyType';
    
     concept_name  | value_set
    ---------------+----------------------------------------------
     @CurrencyType | Dollar, Usd, Euro, Pound, Frank, Renminbi, $
    
    (1 rows)
    

    也可以查询该表的 JSON,如下所示:

    cassdba@cqlsh:stackoverflow> SELECT JSON value_set FROM concept_value_set
                                 WHERE concept_name='@CurrencyType';
    
     [json]
    ---------------------------------------------------------------
     {"value_set": "Dollar, Usd, Euro, Pound, Frank, Renminbi, $"}
    
    (1 rows)
    

    您可以在主要的 Apache Cassandra project documentation site 以及 DataStax 的文档站点上找到更多关于在 Cassandra 中使用 JSON 的信息:(INSERT JSONQUERY JSON)。

    希望这会有所帮助。

    【讨论】:

    • 表 ddl 是 CREATE TABLE concept_value_set (concept_name text, value_set SET, PRIMARY KEY (concept_name))
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-06
    • 2017-09-23
    • 2017-02-09
    • 2015-07-02
    • 2019-10-19
    相关资源
    最近更新 更多