在CASSANDRA中存储JSON对象

时间:2014-10-14 05:27:14

标签: .net cassandra

我想在CASSANDRA db中存储JSON。 JSON的每个字段都应映射到它们各自的列。

有可能吗?如果可能的话,我该如何实现呢?。

请帮帮我们..

1 个答案:

答案 0 :(得分:2)

答案在另一篇文章中给出的相同 - Cassandra不再是无模式的,所以没有开箱即用的解决方案(除非你有一个预定义的json结构)。你可以做的是在Map< text,text>中创建第一级json结构。 (如果我认为你需要的是按键选择一个条目)

{
  "keya": {
      "keyb": 5,
      "keyc": "somestring"
   },
  "keyd": 3;
}

这将映射到以下地图条目

<keya, '{ "keyb": 5, "keyc": "somestring" }'>
<keyd, '3'>

通过这种方式,您可以获取json中任何第一级密钥的内容,但您必须搜索后续条目。你也可以&#34;压扁&#34;把钥匙插入这样的地图:

<keya, '{ "keyb": 5, "keyc": "somestring" }'>
<keya.keyb, '5'>
<keya.keyc": ' "somestring" '>
<keyd, '3'>

您可能还希望在地图中插入存储原始Json的自定义条目。 通过这种方式,您应该能够搜索任何条目,但是您的地图可能比原始json大得多,因为它被非规范化以执行基于密钥的搜索。更多:因为地图是静态类型的,你必须将整数,uuid,float或其他内容映射到字符串中。

HTH, 卡罗