0
我有兩個集合:'預訂'和'用戶'。我想加入數據從booking
和user
與usrLastname
排序爲升序。
下面是示例數據。
booking:- {"_id": ObjectId("59a00979bb4d731037000029"),
"cabinname": "xxxx",
"user": ObjectId("57877d23049ac1b819000029"),
}
user:- { "_id": ObjectId("578610de049ac1741d000029"),
"usrName": "xxxxx",
"usrFirstname": "xx",
"usrLastname": "xxxx",
}
但排序不工作 - 它不排序asc或desc。
這裏是我的代碼
$results = $collection->aggregate(array(
array('$match' => array('status'=>array('$in' => array('1', '4')),'is_delete' => 0,'cabinname'=>$eachcabin['name'],'checkin_from'=> array('$lte' => new MongoDate()),'reserve_to'=>array('$gt' => new MongoDate()))),
array('$lookup' => array(
'from' => 'user',
'localField' => 'user',
'foreignField' => '_id',
'as' => 'u'
)),
array('$unwind' => '$u'),
array('$sort' => array(
'u.usrLastname' => -1,
)),
));'
你需要比「不工作」更具體。顯示一些示例文檔以及預期結果應該來自哪些。確保你實際上指向了正確的字段名稱。這很容易檢查。請參閱[如何創建最小,完整和可驗證的示例](https://stackoverflow.com/help/mcve),瞭解需要添加到問題中的內容以及原因。 –
讓我重申「完整和可驗證」。您告訴我們「它沒有正確排序」。您只顯示每個文件中的一個。 「至少」你需要向我們展示帶有「可驗證」結果的「兩個文件」,該結果顯示該訂單實際上並未按照要求進行排序。否則,你只是在旋轉一個故事,並且可能在你的問題中沒有列出其他問題代碼,這些問題正在導致你的真正問題。這就是爲什麼我們希望你製作一個MCVE,告訴我們該告訴你什麼來糾正,或者讓你意識到自己的錯誤。 –
您應該逐步驗證您的管道。首先檢查你的比賽狀況是否正常。然後檢查查找而不放鬆,然後進行其他步驟。 – Sachin