0
ich diese Abfrage in Mongo Shell verwenden, um die Elemente des Arrays ‚Ereignisse‘, um durch den Wert des FeldesPhp MongoDB Aggregation mit Spiel und Sortierreihenfolge
db.collection_name.aggregate(
{ $match: {
_id : ObjectId("59941bec47582c1e92b93c9b")
}},
{ $unwind: '$events' },
{ $sort: {
'events.start': 1
}})
‚Start‘ zu bekommen, aber ich weiß nicht verstehe, wie man in php dasselbe macht. Ich habe versucht, dies ergebnislos zu schreiben:
$client = new MongoClient("mongodb://admin:[email protected]");
$collection = $client->db_name->collection_name;
$cursor = $collection->aggregate([
['$match' => ['_id' =>new MongoDB\BSON\ObjectID("59941bec47582c1e92b93c9b")]],
['$unwind' => '$events'],
['$sort' => ['events.start' => 1]]
]);
foreach($cursor as $document) {
var_dump($document);
}
habe ich versucht, auch in dieser anderen Art und Weise:
$manager = new MongoDB\Driver\Manager("mongodb://admin:[email protected]:27017");
$command = new MongoDB\Driver\Command([
'aggregate' => 'collection_name',
'pipeline' => [
['$match' => ['_id' =>new MongoDB\BSON\ObjectID("59941bec47582c1e92b93c9b")]],
['$unwind' => '$events'],
['$sort' => ['events.start' => 1]]
],
]);
$cursor = $manager->executeCommand('db_name', $command);
foreach($cursor as $key=>$document) {
var_dump($document);
}
Ihre Abfrage sieht gut aus. Ziehen Sie in Betracht, Beispieldokumente hinzuzufügen, die von der Abfrage erwartet werden. Überprüfen Sie, ob Sie verbunden sind, um den mongo Server & db mit den richtigen Berechtigungen zu korrigieren, indem Sie eine einfache Suchabfrage ausführen. – Veeram
ja, danke. Mit dem zweiten Code gab es ein Authentifizierungsproblem. Ich habe jetzt den DB-Namen in der Verbindungs-URL hinzugefügt. – aleknx1000