由于lack of stable Mongo drivers on Node,我正在将RethinkDB评估为Mongo替代品。我在http://www.rethinkdb.com/api/javascript/get_all/阅读了文档并提出了一个非常简单的问题:如何通过键值对获取文档?
get()的例子只讨论索引。我对索引不感兴趣,而是对其他领域感兴趣。例如,我希望能够做到:
.get({someField:SomeValue})
...就像我习惯使用Mongo上的collection.find()一样。但这似乎不可能。我究竟做错了什么?以这种方式获取文档不被视为get?
我应该使用.filter()吗?
答案 0 :(得分:4)
看起来Rethink's .filter与Mongo的find()相当。
答案 1 :(得分:2)
您也可以使用getAll()
,但首先要为该字段创建索引:
r.db('test').table('testtable').indexCreate('someField')
然后,您可以使用getAll()
获取结果流:
r.db('test').table('testtable').getAll('SomeValue', {index :'someField'});
这比filter()
快。