5

特定の値を選択するためにmongo dbで検索クエリを作成する方法。例えば

IN MYSQL - SELECT * from things where id=3;
IN Mongo - thingscollection->find(array("_id" => $id))

MYSQL クエリが次のようになっているとします。

SELECT name,age from things where id=3;

特定の値を選択するために PHP/MongoDB で検索クエリを作成する方法を知りたいですか?

4

5 に答える 5

13
MySQL: SELECT name,age from things where id=3;  
Mongo: $db->things->find(array("id" => 3), array("name" => 1, "age" => 1));

_id独自に作成したフィールドの代わりにmongo を使用することもできidます。

phpドライバーに関する詳細情報: http://php.net/manual/en/mongo.sqltomongo.php MongoDB.pdf

于 2012-09-20T10:46:02.457 に答える
1

PHPオンラインマニュアルのSQLからMongoへのマッピングチャートが役立つ場合があります。

于 2012-09-20T10:59:48.223 に答える
1

Mongo ステートメントでクエリを記述するときは、SQL to Mongo を参考にしてください

于 2012-09-20T10:43:39.830 に答える
0

Yogesh は提案しusing the mongo _idましたが、実際にはドキュメント内の通常のフィールドよりも複雑です。

達成するには:

IN MYSQL - SELECT * from things where id=3;

MongoDB の PHP ドライバーを使用して、次のようにします。

$m = new MongoClient();
$db = $m->selectDB('stuff');
$collection = new MongoCollection($db, 'things');
$collection->find(array('_id', new MongoID('3'));

「_id」フィールドを使用してドキュメントを保存しなかった場合、Mongo は、一意である可能性が非常に高い BSON 値を使用して、このフィールドを自動的に追加します。通常は「512ba941e0b975fe00000000」のようなものです。

$collection->find(array('_id' => '512ba941e0b975fe00000000'));結果が空で、エラーが生成されない場合、デバッグ中に非常にイライラする可能性があります。new MongoID()string だけでなく、使用することを忘れがち_idです。

于 2013-03-02T04:22:30.503 に答える