最近几年来,地理信息系统无论是在理论上还是应用上都处在一个飞速发展的阶段。 GIS被应用于多个领域的建模和决策支持,如城市管理、区划、环境整治等等,地理信息成为信息时代重要的组成部分之一; “数字地球”概念的提出,更进一步推动了作为其技术支撑的GIS的发展。 与此同时,一些学者致力于相关的理论研究,如空间感知、空间数据误差、空间关系的形式化等等。 这恰好说明了地理信息系统作为应用技术和学科的两个方面,并且这两个方面构成了相互促进的发展过程。
This tutorial is only suitable for PHP7 environment. If you are in PHP5 environment, you can refer to the PHP MongDB 安装与使用 . We use the pecl command to install: When the execution is successful, the following results are output: Next we open the php.ini file and add extension=mongodb.so Configuration. You can add it by executing the following command directly. 注意: The php7 installation directory in the above command is / usr/local/php7/,. If you install it in another directory, you need to modify the path of the pecl and php commands accordingly. The PHP7 connection MongoDB syntax is as follows: Insert the data whose name is a “rookie tutorial” into the runoob collection of the test database. Here we insert the data of the three URLs into the sites collection of the test database, and read and iterate them out: The output is as follows: Next we will update the data with x 2 in the test database sites collection: Next, we use the “db.sites.find ()” command to see the changes in the data, and the data with x = 2 has become a rookie tool: The following example deletes the data with x 1 and x 2, and notes the difference between the limit parameters: For more information on how to use it, please see http://php.net/manual/en/book.mongodb.php . 3.30.1. PHP7 Mongdb extension installation ¶
$ /usr/local/php7/bin/pecl install mongodb
…… Build process completed successfully Installing '/usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/mongodb.so' install ok: channel://pecl.php.net/mongodb-1.1.7 configuration option "php_ini" is not set to php.ini location You should add "extension=mongodb.so" to php.ini
$ echo "extension=mongodb.so" >> `/usr/local/php7/bin/php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"`
3.30.2. Mongodb usage ¶
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017"); Insert data ¶
new MongoDB\BSON\ObjectID, 'name' => '菜鸟教程']; $_id= $bulk->insert($document); var_dump($_id); $manager = new MongoDB\Driver\Manager("mongodb://localhost:27017"); $writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000); $result = $manager->executeBulkWrite('test.runoob', $bulk, $writeConcern); ?> Read data ¶
insert(['x' => 1, 'name'=>'菜鸟教程', 'url' => 'http://www.runoob.com']); $bulk->insert(['x' => 2, 'name'=>'Google', 'url' => 'http://www.google.com']); $bulk->insert(['x' => 3, 'name'=>'taobao', 'url' => 'http://www.taobao.com']); $manager->executeBulkWrite('test.sites', $bulk); $filter = ['x' => ['$gt' => 1]]; $options = [ 'projection' => ['_id' => 0], 'sort' => ['x' => -1], ]; // 查询数据 $query = new MongoDB\Driver\Query($filter, $options); $cursor = $manager->executeQuery('test.sites', $query); foreach ($cursor as $document) { print_r($document); } ?> stdClass Object ( [x] => 3 [name] => taobao [url] => http://www.taobao.com ) stdClass Object ( [x] => 2 [name] => Google [url] => http://www.google.com )
Update data ¶
update( ['x' => 2], ['$set' => ['name' => '菜鸟工具', 'url' => 'tool.runoob.com']], ['multi' => false, 'upsert' => false] ); $manager = new MongoDB\Driver\Manager("mongodb://localhost:27017"); $writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000); $result = $manager->executeBulkWrite('test.sites', $bulk, $writeConcern); ?> 
Delete data ¶
delete(['x' => 1], ['limit' => 1]); // limit 为 1 时,删除第一条匹配数据 $bulk->delete(['x' => 2], ['limit' => 0]); // limit 为 0 时,删除所有匹配数据 $manager = new MongoDB\Driver\Manager("mongodb://localhost:27017"); $writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000); $result = $manager->executeBulkWrite('test.sites', $bulk, $writeConcern); ?>