Ich möchte eine Anfrage mit zwei $ Gruppe machen. Hier können Sie die Struktur meiner Daten sehen:
{
"_id" : ObjectId("573495af4e998fec800041a7"),
"uniqid" : "not573495aeda725",
"status" : "waiting,
"date" : ISODate("2016-05-12T14:39:42.000+0000"),
"id_transaction" : null,
"hash_file" : null,
"user" : "Michel",
"desc" : "undefined",
"pharmacy" : "p56cdc980ba57f"
},
{
"_id" : ObjectId("573495af4e998fec800041a7"),
"uniqid" : "not573495aeda725",
"status" : "waiting,
"date" : ISODate("2016-05-12T14:39:42.000+0000"),
"id_transaction" : null,
"hash_file" : null,
"user" : "Julien",
"desc" : "undefined",
"pharmacy" : "p72gdf210xs68t"
}
Hier ist, wo ich in meinem Aggregat bin ab jetzt:
$pipeline = array(
array(
'$project' => array(
'year' => array('$year' => array('$add' => array('$date',$offset))),
'month' => array('$month' => array('$add' => array('$date',$offset))),
'day' => array('$dayOfMonth' => array('$add' => array('$date',$offset))),
'hour' => array('$hour' => array('$add' => array('$date',$offset))),
"uniqid" => 1,
"status" => 1,
"date" => 1,
"pharmacy" => 1
)
),
array(
'$match' => array(
'$and' => array(
array(
"status" => array('$ne' => null)
),
array(
"status" => array('$ne' => "error")
),
array(
"date" => array('$lte' => new MongoDate(time()))
),
array(
"date" => array('$gt' => new MongoDate(strtotime($sixMonthAgo->format('Y-m-d'))))
)
)
)
),
array(
'$group' => array(
'_id' => array(
"month" => array('$month' => '$date'),
"year" => array('$year' => '$date'),
),
'count' => array('$sum' => 1)
)
),
array(
'$group' => array(
'_id' => array(
),
'count' => array('$sum' => 1)
)
)
);
Ich möchte die Anzahl an Zeilen haben, wo status = „Warte "Gruppierung meiner Anfrage nach" Jahr/Monat "und nach" Apotheke ".
Vielen Dank!
Vielen Dank für Ihre Aufmerksamkeit! Meine Frage ist über Gruppierung nach Datum und Apotheke. Ich denke, mein Maych ist ok nein? – HugoMongo
also - Sie haben eine leere Gruppenanweisung -> die mit $ match ersetzt werden könnte, um nur 'status =" waiting "' zu erhalten. Laut meiner Antwort konnten Sie sehen, dass ich dort das Feld "Status" hinzugefügt habe. – profesor79
OKey tnx ich werde es wieder versuchen – HugoMongo