如何通过NodeJS客户端为aerospike记录ttl设置ttl

How to set ttl for aerospike record ttl through NodeJS Client

我正在为 aerospike 使用 NodeJS 客户端,并尝试为记录设置 ttl,下面是相同的代码。

insert(key, value) {
    return new Promise(function (resolve, reject) {
        aerospike.put(key, value, function (err) {
            if (err.code !== aerospikeStatus.AEROSPIKE_OK) {
                reject("Failed to insert in secondary storage");
            }
            else {
                resolve(true);
            }
        });
    });
}

我正在关注官方文档,但无法找到通过 NodeJS 客户端设置 ttl 的方法。有人碰巧知道怎么做吗?

(http://www.aerospike.com/docs/client/nodejs/usage/kvs/write.html)

其实put函数有四个参数,(key, record, metadata, policy)
你可以看到例子here。下面是我简单的代码来展示如何设置ttl:

  var key = new Aerospike.Key(ns, set, "ask")

  var rec = {
    as_bin: 'bin-content'
  }

  var meta = {
      ttl: 1000
  }

  var policy = {
    key: Aerospike.policy.key.SEND
  }

  client.put(key, rec, meta, policy, function (error) {
    if (error) {
        console.log('error: %s', error.message)
    } else {
      console.log('Record written to database successfully.')
    }
  })