我是Cassandra的新手,我试图将这个json模型化为cassandra表
-
{
"module": [{
"id": "xxxxxx",
"type": "module",
"name": "xxxxxxx",
"criteria": [{
"id": "xxxxxx",
"type": "crieria",
"name": "xxxxxxx",
"procedure": [{
"id": "xxxxxx",
"type": "procedure",
"name": "xxxxxxx",
"activity": [{
"id": "xxxxxx",
"type": "activity",
"name": "xxxxxxx",
"task": [{
"id": "xxxxxx",
"type": "activity",
"name": "xxxxxxx",
"user_assigned": "xxxxxx"
"date": "xxxxxxx"
},
....
]
},
....
]
},
....
]
},
....
]
},
....
]
}
我尝试使用UDT,但非冻结的UDT不允许在集合中:map ,我想让用户更新特定的部分。
CREATE TYPE IF NOT EXISTS task (
id text,
enumerate text,
name text,
user_assigned text,
description text
);
CREATE TYPE IF NOT EXISTS activity (
id text,
enumerate text,
name text,
description text,
task map<int, frozen<task>>
);
CREATE TYPE IF NOT EXISTS procedure (
id text,
enumerate text,
name text,
description text,
activity map<int, frozen<activity>>
);
CREATE TYPE IF NOT EXISTS criteria (
id text,
enumerate text,
name text,
description text,
procedure map<int, frozen<procedure>>
);
CREATE TYPE IF NOT EXISTS module (
id text,
enumerate text,
name text,
description text,
criteria map<int, frozen<criteria>>
);
CREATE TABLE IF NOT EXISTS certification (
id timeuuid,
owner text,
description text,
name text,
template map<int, frozen<module>>,
images map<text, text>,
PRIMARY KEY (id, owner)
);
我limitations if I use collections
recomendations将尝试使用查询优先方法开始设计,但我想开始显示所有数据并通过指向任务的链接进入
建模的最佳方式是什么?。
更新
我需要的查询