1

Mongo PHP 拡張機能を使用しており、php で 2 つのコレクションに参加したいと考えています。いろいろ調べてみたら「map-reduceが使える」とよく言われますが、私はphpでそれができません。

私のデータは次のようになります。

users
{
  "_id": "4ca30369fd0e910ecc000006",
  "login": "user11",
  "pass": "example_pass",
  "date": "2010-09-29"
},
{
  "_id": "4ca30373fd0e910ecc000007",
  "login": "user22",
  "pass": "example_pass",
  "date": "2010-09-29"
}

news
{
  "_id": "4ca305c2fd0e910ecc000003",
  "name": "news 333",
  "content": "news content 3333",
  "user_id": "4ca30373fd0e910ecc000007",
  "date": "2010-09-29"
},
{
  "_id": "4ca305c2fd0e910ecc00000b",
  "name": "news 222",
  "content": "news content 2222",
  "user_id": "4ca30373fd0e910ecc000007",
  "date": "2010-09-29"
},
{
  "_id": "4ca305b5fd0e910ecc00000a",
  "name": "news 111",
  "content": "news content",
  "user_id": "4ca30369fd0e910ecc000006",
  "date": "2010-09-29"
}

PHPでMongodbを使用してこのSQLを作成するにはどうすればよいですか?

SELECT n.*, u.* 
FROM news AS n 
INNER JOIN users AS u ON n.user_id = u.id
4

1 に答える 1

1

アプリケーション内にいくつかのアルゴリズムを実装する必要があります: たとえば、これを実装します:
http://en.wikipedia.org/wiki/Nested_loop_join http://en.wikipedia.org/wiki/Sort-merge_join

したがって、基本的に、ここで説明されているものの代わりに簡単な解決策はありません: MongoDB-PHP: JOIN のようなクエリ

また、参照してください:おそらくこの質問も出します(しかし、回答では、事前に結合された方法でドキュメント構造を設計する場合、それは非常に賢明であると説明されています): mongodb php - how to do "INNER JOIN"-like query

于 2013-06-06T11:47:14.410 に答える