2016-04-30 8 views
0

Yii2でmongo extensionを使用しています。Yii2で次の文章検索クエリを書くには

ServiceProviderParentsの2つのコレクションがあります。 ServiceProviderには、親のIDを含むサブ文書(PostCommentIDs)があります。

もう1つのコレクションParentsにはすべての親情報が含まれています。

私は2つのコレクションに参加したいと思っていました。私は以下のmongoの質問を通してそれを達成しました。

しかし、上記の拡張子を使用すると、Yii2でどのようにこのクエリを書くのですか。

db.ServiceProvider.aggregate([ 
    { 
     $unwind: "$PostCommentIDs" 
    }, 
    { 
     $lookup: 
     { 
      from: "Parents", 
      localField: "PostCommentIDs", 
      foreignField: "ID", 
      as: "ParentDetails" 
     } 
    }, 
    { 
     $match: { "ParentDetails": { $ne: [] } } 
    } 
]) 

助けてください。ありがとう!

答えて

0

解決策が見つかりました。誰かを助けるかもしれない。

$collection = Yii::$app->mongodb->getCollection('ServiceProvider'); 
$result = $collection->aggregate(
      ['$unwind' => '$PostCommentUserIDs'], 
      [ 
       '$lookup' => 
        [ 
         'from' => 'Parents', 
         'localField' => 'PostCommentUserIDs', 
         'foreignField' => 'ID', 
         'as' => 'ParentDetails' 
        ] 
      ], 
      [ 
       '$match' => [ 
        'ParentDetails' => [ '$ne' => [] ] 
       ] 
      ] 
); 
関連する問題