2016-04-23 5 views
2

私のドキュメントには7つのフィールドがあり、そのうちの1つが「都市」であり、値は異なる都市です。私がしたときRethinkDBのグループ数を制限してランク付けします

r.db('base').table('table').group('city').count().run() 

RethinkDBは都市別の文書数をグループ化します。出力は277の都市のリストであり、それぞれが多数の文書に関連付けられています。 96点以上の文書に関連付けられた都市だけを見たいという点を除いて、同じ出力をしたいと思います。

例えば、現在のクエリの出力は

{(u'Newtown Square',): 2, (u'Delhi',): 242, (u'Emeryville',): 19, (u'Chicago',): 96}, 

あるとき、私は可能であれば

{(u'Delhi',): 242, (u'Chicago',): 96} 

を与えるために新しいものが欲しい、私も結果がでランク付けしたいと思います降順。

答えて

2

このようなものは、r.db('base').table('table').group('city').count().ungroup().filter(function(row) { return row('reduction').ge(96); }).orderBy(r.desc('reduction'))となります。

+0

Thxを。あなたのクエリは構文エラーを返し、私はそれを修正できるように十分理解していません。 – crocefisso

+0

RethinkDBのドキュメントで 'function'も' return'も見つかりません。 「削減」とは何ですか?記録のために、私はPythonのクライアントドライバを使用しています。 – crocefisso

+0

あなたのコードはjavaでした。私がPythonにtanslatedとき、それは魅力のように働いた。 – crocefisso

0

のPythonクライアントドライバのバージョン:あなたの答えルーシーのため

r.db('base').table('table').group('city').count().ungroup().filter(lambda c: c['reduction'].ge(96)).order_by(r.desc('reduction')).run() 
関連する問題