簡體   English   中英

Cassandra:將集合設為布爾值,怎么辦?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM