2017-01-07 7 views
1

私は、異なるセンサーの値を保存するカラムを作っています。カサンドラ:コレクションのブール値を設定する方法は?

センサ_04はブール値がであり、異なる4つのドアとなります。 ドア1、ドア2、ドア3、ドア4

目的は、ドア1,2,3または4が真であるか偽であるかを照会して尋ねることです。

構文はどのように行われますか?

Sensor_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'}); 

が、私の目標は、このようなものである:私は私の例を知っている原因は、偽であります:sID int、sNameテキスト、セット:door1 bool、door2 bool、door3 bool、door4 bool

答えて

2

f a doorがあなたのセットに存在し、その値がtrueである場合、yuoはC *のフィルタリング機能を使用してデータを照会できます。

だから私のようなものにモデルを変更したい:doorsセットは、テキストのセットに変更されました

CREATE TABLE lockSystem (
    sID int, 
    sNamn text, 
    doors set<text>, 
    PRIMARY KEY(sID) 
); 

。あなたが、その後使用することができ、データをフィルタリングするには

UPDATE lockSystem SET doors = doors + { '1' } WHERE sID = ?; 

:1つのドアアラームはで「ハイ」を取得するときには、あなたのセットにデータを追加

SELECT * FROM lockSystem WHERE doors CONTAINS '1'; 

using the set typeのドキュメントを見てください、とのどのようにfilter data in a collectionに。

関連する問題