0
내가 값으로 순서대로 배열 '이벤트'의 요소를 얻기 위해 몽고 쉘에서이 쿼리를 사용하여 필드PHP는 MongoDB의 일치와 통합 및 정렬 순서
db.collection_name.aggregate(
{ $match: {
_id : ObjectId("59941bec47582c1e92b93c9b")
}},
{ $unwind: '$events' },
{ $sort: {
'events.start': 1
}})
을 '시작'그러나 난 몰라 어떻게 PHP에서 동일한 일을하는지 이해하십시오. 나는 결과없이 쓰기 위해 노력했다 :이 다른 방법도 시도
$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);
}
:
$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);
}
귀하의 질의가 정상적으로 보입니다. 쿼리가 반환 될 샘플 문서를 추가하는 것을 고려하십시오. 간단한 찾기 쿼리를 실행하여 올바른 사용 권한이있는 mongo 서버 및 db에 연결되었는지 확인하십시오. – Veeram
예, 감사합니다. 두 번째 코드에는 인증 문제가 있습니다. 연결 URL에 db 이름을 추가했습니다. – aleknx1000