![](/img/trans.png)
[英]Cassandra : How to set individual TTL for elements of a collection (set type to be specific)
[英]Cassandra: Set collection boolean, how to?
我正在創建一個可以保存不同傳感器值的列系列。
Sensor_04將具有4個不同門的布爾值。 door1,door2,door3,door4 。
目的是能夠查詢和詢問1、2、3或4門是對還是錯?
語法如何完成? 因為我知道我的例子是錯誤的:
CREATE COLUMNFAMILY lockSystem (sID int, sNamn text, doors set<boolean>, PRIMARY KEY(sID));
錯誤--->
INSERT INTO lockSystem (sID, sNamn, doors) VALUES (4,'Sensor_04' {'door1:True','door2:False','door3:False','door4:false'});
我希望我的問題有意義,我的目標是這樣的:
Sensor_4:sID int,sName文本,設置:door1 bool,door2 bool,door3 bool,door4 bool
您可以假設,如果door
中存在door
,則其值為true
,然后yuo可以使用C *的過濾功能來查詢數據。
所以我將模型更改為:
CREATE TABLE lockSystem (
sID int,
sNamn text,
doors set<text>,
PRIMARY KEY(sID)
);
doors
設置已更改為一組文本的位置。 然后,當一個門警報變得“高”時,您可以通過以下方式將數據添加到您的集合中:
UPDATE lockSystem SET doors = doors + { '1' } WHERE sID = ?;
要過濾數據,您可以使用:
SELECT * FROM lockSystem WHERE doors CONTAINS '1';
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.