Если вы хотите удалить ячейки из отдельных записей, предложения pgupta будут работать. Если вы хотите удалить ячейки из многих записей, всего набора или целого пространства имен, вы можете использовать scan и scan.execute_background () , чтобы удалить ячейки асинхронно. Ниже приведен пример удаления ячеек с помощью сканирования.
from __future__ import print_function
import aerospike
from aerospike_helpers.operations import operations
import time
# Configure the client.
config = {"hosts": [("127.0.0.1", 3000)]}
# Create a client and connect it to the cluster.
client = aerospike.client(config).connect()
TEST_NS = "test"
TEST_SET = "demo"
# Write the records.
keys = [(TEST_NS, TEST_SET, i) for i in range(5)]
for i, key in enumerate(keys):
client.put(key, {"account_number": i, "score": i * 10})
# EXAMPLE: Remove score bin from each record.
ops = [operations.write("score", aerospike.null())]
scan = client.scan(TEST_NS, TEST_SET)
scan.add_ops(ops)
scan.execute_background()
# Allow scan to complete.
while True:
response = client.job_info(job_id, aerospike.JOB_SCAN)
if response['status'] != aerospike.JOB_STATUS_INPROGRESS:
break
time.sleep(0.1)
# Print bins.
for key in keys:
_, _, bins = client.get(key)
print(bins)
# Cleanup and close the connection to the Aerospike cluster.
for i, key in enumerate(keys):
client.remove(key)
client.close()
"""
EXPECTED OUTPUT:
{'account_number': 0}
{'account_number': 1}
{'account_number': 2}
{'account_number': 3}
{'account_number': 4}
"""
Если вы хотите ограничить, какие ячейки записи удаляются, вы можете прикрепить предикаты к сканированию. См. Пример внизу results () .