co jest odpowiednikiem operatora „IN” w Aerospike?

Nov 22 2020

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

1 pgupta Dec 22 2020 at 00:11

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

3 pgupta Nov 24 2020 at 05:40

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