2013-04-24 47 views
6

tôi sau một ví dụ từ các tài liệu PHP để sắp xếp một số bản ghi trong một bộ sưu tập:Tại sao loại Mongo này không hoạt động trong PHP?

$cursor = $mongo->party_scores->find()->limit(10); 
    $cursor = $cursor->sort(array("score",-1)); 
    foreach($cursor as $doc) { 
     print_r($doc); 
    } 

Việc làm này, tôi xem các tài liệu theo một thứ tự ngẫu nhiên (không sắp xếp).

Nhưng thực hiện truy vấn này từ Mongo console tạo ra một phản ứng được sắp xếp một cách chính xác:

db.party_scores.find().sort({score : -1 }) 

tôi cảm thấy như phải có một cái gì đó rõ ràng tôi đang thiếu.

Trả lời

13

Tôi nghĩ rằng tôi thấy sự cố. Thay vì làm điều này:

$cursor->sort(array("score",-1)) 

Hãy thử điều này:

$cursor->sort(array("score" => -1)) 

Dễ sai lầm khi thực hiện, nhưng rất bực bội để tìm nếu bạn không nhìn thấy nó ngay lập tức.

+1

Điều đó dường như đã xảy ra, cảm ơn. Có lẽ tôi sẽ nhìn nó trong một giờ nữa mà không thấy nó. – justkevin

+0

Lỗi không bắt buộc: Gọi đến phương thức không xác định MongoDB \ Driver \ Cursor :: sort()? Lỗi là gì? – Sibidharan

Các vấn đề liên quan