0

PHP を使用して MongoDB にドキュメントを追加しています。

RockMongo を使用して、ドキュメントが正常に追加されたことを確認しました。

ただし、 find() コマンドを実行すると、空の配列が返されます

$insert = $collection->insert($document);
$cursor = $collection->find();

insert はドキュメントを挿入しますが、find() は「MongoCursor Object ( )」を返します。

アイテムを検索できるようにするために、挿入後に実行する必要があるコマンドはありますか?

4

1 に答える 1

2

ドキュメントからの抜粋: find はリソースへのポインタを返し、結果を実際に確認するには結果を反復処理する必要があります。(mysql(i) と同様) http://php.net/manual/en/mongocollection.find.php

<?php

$m = new MongoClient();
$db = $m->selectDB('test');
$collection = new MongoCollection($db, 'produce');

// search for fruits
$fruitQuery = array('Type' => 'Fruit');

$cursor = $collection->find($fruitQuery);
foreach ($cursor as $doc) {
    var_dump($doc);
}

// search for produce that is sweet. Taste is a child of Details. 
$sweetQuery = array('Details.Taste' => 'Sweet');
echo "Sweet\n";
$cursor = $collection->find($sweetQuery);
foreach ($cursor as $doc) {
    var_dump($doc);
}

?>

したがって、結果を foreach すると、問題なく動作します。

于 2013-02-11T09:03:46.140 に答える