LoginSignup
2
1

More than 1 year has passed since last update.

PHP で MongoDB のデータを読む (Read)

Last updated at Posted at 2018-06-02

ライブラリーのインストールはこちら

PHP で MongoDB のデータを作成 (Create)

mongo_read.php
#! /usr/bin/php
<?php
// --------------------------------------------------------------------
/*
    mongo_read.php

                    Jun/08/2019

*/
// --------------------------------------------------------------------
function dict_display_proc ($dict_aa)
{
    ksort ($dict_aa);

    foreach ($dict_aa as $key => $value)
        {
        $name = $value["name"];
        $population = $value['population'];
        $date_mod = $value['date_mod'];

        print "$key\t";
        print "$name\t";
        print "$population\t";
        print "$date_mod\n";
        }
}

// --------------------------------------------------------------------
function dict_append_proc ($dict_aa,$id,$name,$population,$date_mod)
{
    $dict_unit = array ();
    $dict_unit['name'] = $name;
    $dict_unit['population'] = $population;
    $dict_unit['date_mod'] = $date_mod;
    $dict_aa[(string)$id]= $dict_unit;

    return  $dict_aa;
}

// --------------------------------------------------------------------
fputs (STDERR,"*** 開始 ***\n");

require_once './vendor/autoload.php';
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();

//
$user = $_ENV['user'];
$password = $_ENV['password'];

$str_connect = "mongodb://" . $user . ":" . $password . "@localhost:27017";

$manager = new MongoDB\Driver\Manager($str_connect);

$filter = [];
$options = [
    'projection' => ['_id' => 0],
    'sort' => ['_id' => -1],
];

$query = new MongoDB\Driver\Query($filter, $options);
$cursor = $manager->executeQuery('city.saitama', $query);

$dict_aa = array ();

foreach ($cursor as $document) {
    $dict_aa = dict_append_proc
        ($dict_aa,$document->key,$document->name,
        $document->population,$document->date_mod);
}

dict_display_proc ($dict_aa);

fputs (STDERR,"*** 終了 ***\n");

// --------------------------------------------------------------------
?>
.env
user = '******'
password = '******'

実行コマンド

./mongo_read.php

次のバージョンで確認しました。

$ php --version
PHP 8.0.8 (cli) (built: Oct 26 2021 11:42:42) ( NTS )
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1