私はジョイントを完全に理解していません。残念ながら、ドイツ語ではほとんどドキュメントがありません。私の特別なケースでは、私も実際にドライバーを理解していません。gorethink inner join
だから私は、テーブル「カテゴリ」を持っており、そこに私は2つのドキュメントしている:私は2番目のテーブル「フォーラム」を
{"id":1, "title":"Category 1"}
{"id":2, "title":"Category 2"}
を持っているよりも、そこに私は3つのドキュメントがあります
{"id":1, "title":"Forum 1", "categoryId":1}
{"id":2, "title":"Forum 2", "categoryId":1}
{"id":3, "title":"Forum 3", "categoryId":2}
何を私は結果として望みます:
[{"id":1, "title":"Category 1", "forums":[{"id":1, "title":"Forum 1"},{"id":2, "title":"Forum 2"}]}, {"id":2, "title":"Category 2", "forums":[{"id":3, "title":"Forum 3"}]}]
私は、RethinkDBが特にGo、therefoに大きなコミュニティを持っていないことを知っていますSQLコマンドをどのようにすればいいのかを教えてもらえると助かります。
RethinkDBドライバと共通するGoデベロッパーがいれば、Goで解決策を見つけるのに役立つかもしれません。なぜなら、関数の引数(marvelRow、dcRow)にはGoの宣言が必要なので、私はこのJavaScriptコード(https://www.rethinkdb.com/api/javascript/#inner_join)をGoに変換することができるからです。
非常に嬉しいです! ベネ
"Go langの場合を除いて、すべてがほぼ同じですが、タイプを指定する必要があります。"あなたが言ったように、ほとんどの時間r.Termが使用されている、私は最も混乱して私は具体的なタイプに慣れています。とにかくあなたの素晴らしい答えをありがとう!今私は仕事を続けることができます、ありがとう! – Bene
この結合の 'filter'はインデックスを利用しないので、テーブルが大きくなるにつれて非常に遅くなることに注意してください。 '.getAll(cat( 'id')、{index: 'categoryId'})' 'で' .filter({categoryId:cat( 'id')} ')を置き換え、' categoryId'フィールド。 は私が考えるゴアでのgetAllを使用する方法がわからない、しかし、ゴアは、ドキュメントはその上のいくつかの情報shouldhaveと思います。 (参加中の '.filter'コマンドがインデックスを使用し、したがって、大きなテーブルのための非常に遅いことができる。より良い使用するセカンダリインデックスと.getAll' instead'があるであろうことに留意されたいです。) –