大型列表 (LDT) 原生支持基本排序。
在大型列表中,您的键(索引)始终默认以词法方式排序。
请注意ldt-enabled true 指令必须出现在aerospike.conf 的命名空间配置区域中
javascript 客户端示例
var key = {ns: 'test', set: 'mySet', key: 'myKey'};
var callback = function (status, result) {console.log(status, result)}
var list = client.LargeList(key, 'targetBinName', null, callback));
// add first item (also determinate the list values type)
list.add(1, callback);
// add multiple items
list.add([0, 2, 4, 5], callback);
list.add(3, callback);
// get all items
list.scan(function (status, list) {
// list = [0, 1, 2, 3, 4, 5]
})
// select by values range
list.findRange(0, 3, callback)
// filter using udf to do custom gt/lt filtering
list.filter('udfName', callback)
如果您需要存储对象,那么您必须添加一个key 属性,该属性将作为排序、范围、重复等的索引(默认情况下不允许重复)
list.add({key: 1})
list.add([{key: 0},{key: 2}])
我相信其他语言的驱动程序或多或少都有相同的方法。
更多关于Aerospike docs的大型列表
Github 上 NodeJS 客户端中的大型文档列表部分