0

由于Node 上缺乏稳定的 Mongo 驱动程序,我正在评估 RethinkDB 作为 Mongo 的替代品。我已经阅读了http://www.rethinkdb.com/api/javascript/get_all/上的文档,并且有一个非常简单的问题:如何通过键值对获取文档?

get() 的示例只讨论索引。我对索引不感兴趣,而是对其他字段感兴趣。例如,我希望能够做到:

.get({someField:SomeValue}) 

...与我在 Mongo 上使用 collection.find() 的方式大致相同。但这似乎不可能。我究竟做错了什么?以这种方式获取文档不被视为获取吗?

我应该为此使用.filter()吗?

4

2 回答 2

4

看起来Rethink 的 .filter与 Mongo 的 find() 相当。

于 2013-12-10T16:37:44.437 回答
2

您也可以使用getAll(),但首先为该字段创建一个索引:

r.db('test').table('testtable').indexCreate('someField')

然后,您可以使用getAll()来获取结果流:

r.db('test').table('testtable').getAll('SomeValue', {index :'someField'});

这比filter().

于 2014-04-28T05:15:20.027 回答