Intereting Posts
Безопасные возможности загрузки изображений пользователей в PHP Как получить только что вставленную строку таблицы MySQL в PHP? проблемы с профилями страницы в системе, которые всегда отображают, что пользователь является владельцем профиля, который является неправильным Как вы применяете htmlentities выборочно? Удаление столбца с внешним ключом Ошибка Laravel: Общая ошибка: 1025 Ошибка при переименовании PHP не может писать вне корня документа независимо от того, что Обрезание изображения с помощью imagecopyresampled () в PHP без fopen Передача массива с использованием скрытого элемента формы Html Что такое SAPI и когда вы его используете? для каждого цикла в javascript с данными json Любая функция PHP, которая лишает свойства объекта, которые являются нулевыми? Что делает <? php echo ("<pre>"); … echo ("</ pre>"); ?> означает? Запрос обновления MySQL обновляет один столбец, но не другой столбец Данные формы Laravel не сохраняются в графике DB neo4j Force скачать файлы mp4

MongoDB / PHP .. Как писать отдельные запросы?

Как написать запрос поиска в 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, чтобы выбрать определенные значения?

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

Вы можете использовать mongo _id вместо собственного созданного поля id .

Для получения дополнительной информации о драйвере php: http://php.net/manual/en/mongo.sqltomongo.php Другая хорошая ссылка только для SQL to Mongo – http://rickosborne.org/download/SQL-to- MongoDB.pdf

используйте SQL для Mongo в качестве ссылки при написании запросов в Mongo Statement.

Вы можете найти диаграмму привязки SQL к Mongo из справочной системы PHP онлайн.

Йогеш предложил using the mongo _id но это на самом деле сложнее обычного поля в документе.

Достигать:

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

используя PHP-драйвер MongoDB, сделайте следующее:

 $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() а не просто строку _id .

 $mongo_url = 'mongodb://127.0.0.1/'; $client = new \MongoDB\Client($mongo_url); $db_name = 'your_db_name'; $db = $client->$db_name; $collection = $db->your_collection_name; $where = array( 'user_id' => 3 ); $select_fields = array( 'name' => 1, 'age' => 1, ); $options = array( 'projection' => $select_fields ); $cursor = $collection->find($where, $options); //This is the main line $docs = $cursor->toArray(); print_r($docs);