Qu'est-ce qui est équivalent à l'opérateur «IN» dans Aerospike?
J'ai un ensemble par cette structure et ces données:
+--------+-----------+---------+
| MODEL | COLOR | OWNER |
+--------+-----------+---------+
|Benz | Red | p1 |
+--------+-----------+---------+
|BMW | Blue | P2 |
+--------+-----------+---------+
|Ferrari | YelloW | P3 |
+--------+-----------+---------+
|Audi | Blue + P4 |
--------------------------------
veulent maintenant rechercher dans l'aérospike uniquement des voitures jaunes et bleues. Je recherche dans la documentation aérospike dans les sections AQL et Query mais je ne trouve rien. Je veux simuler cette requête SQL dans aerospike avec le client C #:
Sélectionnez * parmi les voitures où la couleur en ('Jaune', 'Rouge')
Réponses
Aerospike a récemment mis à jour les filtres de prédicat en expressions. Actuellement, les clients et le serveur prendront en charge les deux, mais à un moment donné, les filtres de prédicat seront obsolètes. Les expressions sont plus intuitives dans la syntaxe, obtiennent les mêmes fonctionnalités que les filtres de prédicat et l'étendent davantage. Pour C #, ce lien devrait vous montrer l'exemple de code:https://github.com/aerospike/aerospike-client-csharp/blob/master/Framework/AerospikeDemo/QueryExp.cs
La couleur IN (jaune, rouge) serait logiquement la même que Couleur == Jaune OU Couleur == Rouge. Vous pouvez créer une telle expression pour filtrer la requête. Voir l'exemple en réponse à: utilisation de plusieurs opérations logiques telles que OU, ET, PAS dans Aerospike
Pour le client C #, voir: QueryExp.cs dans le code client Csharp / Framework / AerospikeDemo