The name of the bin, which must contain a Map value.
Find map items nearest to this value and greater.
Rank of items to be removed relative to the given value.
Optional
count: numberNumber of items to remove. If undefined, the range includes all items nearest to value and greater, until the end.
Optional
returnType: maps.returnTypeThe return type indicating what data of the affected item(s) to return (if any).
Operation that can be passed to the Client#operate command.
Instead of passing returnType
, you can also use
~MapOperation#andReturn|MapOperation#andReturn to
select what data to return.
const Aerospike = require('aerospike')
const maps = Aerospike.maps
const key = new Aerospike.Key('test', 'demo', 'mapKey')
// INSERT HOSTNAME AND PORT NUMBER OF AEROSPIKE SERVER NODE HERE!
var config = {
hosts: '192.168.33.10:3000',
// Timeouts disabled, latency dependent on server location. Configure as needed.
policies: {
read : new Aerospike.ReadPolicy({socketTimeout : 0, totalTimeout : 0}),
write : new Aerospike.WritePolicy({socketTimeout : 0, totalTimeout : 0}),
operate : new Aerospike.OperatePolicy({socketTimeout : 0, totalTimeout : 0})
}
}
Aerospike.connect(config)
.then(async client => {
await client.put(key, { map: { e: 2, j: 10, f: 15, a: 17 } })
let result = await client.operate(key, [
maps.removeByValueRelRankRange('map', 11, -1)
.andReturn(maps.returnType.KEY_VALUE)])
console.info(result.bins.map) // => [ 'j', 10, 'f', 15, 'a', 17 ]
let record = await client.get(key)
console.info(record.bins.map) // => { e: 2 }
client.close()
})
Removes map items nearest to value and greater, by relative rank.
This operation returns the removed data specified by
returnType
.Examples for map { e: 2, j: 10, f: 15, a: 17 }:
Without count: