2015-01-05 35 views
1

當我使用下面的PHP代碼:爲什麼我會收到來自MongoCollection空數組::找到

$m = new MongoClient(); 
$db = $m->selectDB('mylocalmap_development'); 
$collection = new MongoCollection($db, 'stores'); 
$cursor = $collection->find(); 
var_dump($cursor); exit; 

..我得到一個空數組:

object(MongoCursor)#82 (0) { } 

但是,如果我做以下,我可以看到該集合中有一個記錄:

$ mongo 
MongoDB shell version: 2.4.12 
connecting to: test 
> use mylocalmap_development 
switched to db mylocalmap_development 
> db.stores.find(); 
{ "_id" : ObjectId("54aa9626adc9f013088b4567"), "name" : "The Greengrocer", "address" : "123 Fake Street", "city" : "Stirling" } 

我在做什麼錯?我下面的文件,據我可以看到反正

http://php.net/manual/en/mongocollection.find.php

+2

這是一個'MongoCursor'對象,而不是像「轉儲」告訴你的數組。查看如何迭代從驅動程序返回的遊標的方法和一般文檔。 –

回答

1

嘗試iterator_to_array($cursor)看到光標的內容。如果有記錄,陣列將不會爲空:

var_dump(iterator_to_array($cursor)); 
+0

我想我只是沒有認識到它不是一個數組。不過謝謝,我並沒有離開這個功能。 – Martyn

相關問題