从Aerospike node.js客户端检索主键

Abh*_*h S 5 node.js aerospike

我正在尝试使用client.get()在Aerospike node.js客户端中检索主键.我已经使用client.put()通过将策略更改为Aerospike.policy.key.SEND来插入记录,如此此处所述.

现在我想要检索记录和主键.我尝试像Aerospike文档中提到的那样做,但似乎没有用.

var key = aerospike.key(aerospikeDBParams.defaultNamespace,aerospikeDBParams.defaultSet,count);
    var readpolicy = {
        key: aerospike.policy.key.SEND
    }
    client.get(key, readpolicy, function(err, rec, meta){}
Run Code Online (Sandbox Code Playgroud)

我得到所有的箱子,但不是主键.我在这里错过了什么吗?

提前致谢.

sel*_*ish 5

功能的第四个参数是关于您想要的主键的信息.

以我的代码为例:

  var readpolicy = {
      key: Aerospike.policy.key.SEND
  }
  var key = new Aerospike.Key(ns, set, "sel-fish")
  client.get(key, readpolicy, function (err, record, metadata, key) {
    if (null == err) {
      console.log("get ok")
      console.log(record)
      console.log(metadata)
      console.log(key)
    }
  })
Run Code Online (Sandbox Code Playgroud)

输出是:

get ok
{ uid: 1000,
  name: 'sel-fish',
  dob: { mm: 12, dd: 29, yy: 1995 },
  friends: [ 1001, 1002, 1003 ],
  avatar: <Buffer 0a 0b 0c> }
{ ttl: 431997, gen: 3 }
Key { ns: 'test', set: '14', key: 'sel-fish', digest: null }
Run Code Online (Sandbox Code Playgroud)

驱动程序的版本是 aerospike@2.0.3