RethinkDB:​​从光标中只获取一条记录

时间:2013-11-25 20:48:42

标签: node.js rethinkdb

如何使用二级索引从游标中只获取一条记录?

r.db('domains').table('info').getAll(domain, {index: 'domain'}).run connection, (err, cursor) ->
  throw err if err
  cursor.toArray (err, info) ->
    throw err if err
    callback info

如何只获得一条记录?

2 个答案:

答案 0 :(得分:2)

最简单的方法可能就是修改你的查询:

r.db('domains').table('info').getAll(domain, {index: 'domain'}).limit(1)

这将只返回第一个文件。您也可以只使用光标中的1个文档。但那可能不那么干净。

答案 1 :(得分:-1)

有几种方法可以做到这一点。这就是我喜欢做的事情:

R.table('foo')
.getAll('bar', {index: 'baz'})
.coerceTo('array')
.run(connection, (err, results) => {

  var result

  if (err) {
    //always handle errors :)
  }

  result = results[0]

  //dosomething with your "result"
})