2016-11-15 28 views
2

Laravel Jessangerで次のmongoDBクエリを使用しようとしていますが、rawクエリとして実行できませんでした。mongoDB Jenssegers Laravelを使用して未処理クエリを実行

db.getCollection('users').aggregate([ 
    { 
     "$group": { 
      "_id": { "cnic": "$cnic", "time_in": "$time_in" }, 
      "uniqueIds": { "$addToSet": "$_id" }, 
      "count": { "$sum": 1 } 
     } 
    }, 
    { "$match": { "count": { "$gt": 1 } } } 
]).forEach(function(doc) { 
    doc.uniqueIds.shift(); 
    db.getCollection('users').remove({_id : {$in: doc.uniqueIds }}); 
}) 

この単純なクエリをそのまま実行して、データベースから重複を削除します。

は、私は次のように使用してみました:

+0

私はあなたの問題を抱えています、あなたはそれを解決しましたか? –

答えて

1

Users::raw()->find('mongo raw statement') 

$cursor = DB::collection('users')->raw(function($collection) 
{ 
    return $collection->find('mongo raw statement'); 
}); 

感謝をLaravel Jenssegersライブラリに記述されたセクション Raw Expressionsで生の式を作成します。 生の式はconditionの配列オブジェクトを受け入れます。あなたの例では、findメソッドは正しくありません。

関連する問題