2017-09-12 8 views
2

Geht Aerospike Client-Support-Operationen wie Hinzufügen/Entfernen, um in einer Bin direkt vom Client Liste/Karte in einem bin, d.Aerospike Operationen auf Liste/Karte

aql> select * from test_ns.test_set where PK='12345678' 
+----------------------------+---------------------------+ 
| map_bin     | list_bin     | 
+----------------------------+---------------------------+ 
| MAP('{22370:1, 23471:1}') | LIST('[22370, 1234543]') | 
+----------------------------+---------------------------+ 

Im obigen Beispiel möge ich einen Eintrag in die Liste in der Liste ist hinzuzufügen, oder einen Eintrag in der Karte hinzufügen,

Ich weiß, dass wir UDF dafür verwenden können, aber kann es es direkt tun vom Aerospike-Client ohne UDF zu schreiben, da UDF-Operationen teuer sind?

P.S. Ich benutze Aerospike Go-Client

Antwort

2

Der Go-Client für Aerospike unterstützt, wie alle anderen Clients, Listen- und Map-API-Operationen wie List-Append (ListAppendOp). In den meisten Clients gibt es Wrapper-Methoden dafür, aber Sie können immer die Methode operate() verwenden, um mehrere Operationen für einen einzelnen Datensatz auszuführen, einschließlich der atomaren Operationen list und map.