co jest odpowiednikiem operatora „IN” w Aerospike?
Mam zestaw wg tej struktury i danych:
+--------+-----------+---------+
| MODEL | COLOR | OWNER |
+--------+-----------+---------+
|Benz | Red | p1 |
+--------+-----------+---------+
|BMW | Blue | P2 |
+--------+-----------+---------+
|Ferrari | YelloW | P3 |
+--------+-----------+---------+
|Audi | Blue + P4 |
--------------------------------
teraz chcę szukać w aerospike tylko żółtych i niebieskich samochodów. Przeszukuję dokumentację aerospike zarówno w sekcji AQL, jak i Query, ale nie mogę znaleźć żadnych rzeczy. Chcę zasymulować to zapytanie SQL w aerospike z klientem C #:
Wybierz * z samochodów, w których kolor jest („żółty”, „czerwony”)
Odpowiedzi
Firma Aerospike niedawno zaktualizowała filtry predykatów do wyrażeń. Obecnie klienci i serwer będą obsługiwać oba, ale w pewnym momencie Predicate Filters zostaną wycofane. Wyrażenia są bardziej intuicyjne w składni, osiągają taką samą funkcjonalność jak Predicate Filters i dodatkowo ją rozszerzają. W przypadku języka C # ten link powinien pokazać przykładowy kod:https://github.com/aerospike/aerospike-client-csharp/blob/master/Framework/AerospikeDemo/QueryExp.cs
Kolor IN (żółty, czerwony) byłby logicznie taki sam jak kolor == żółty LUB kolor == czerwony. Możesz zbudować takie wyrażenie, aby odfiltrować zapytanie. Zobacz przykład w odpowiedzi na: używanie wielu operacji logicznych, takich jak OR, AND, NOT w Aerospike
Dla klienta C # zobacz: QueryExp.cs w kodzie klienta Csharp / Framework / AerospikeDemo