重庆做商城网站/新手怎么推广自己的店铺
在深入探讨此问题之前,建议您阅读以下相关文章:
- MongoDB简介
- 基本的MongoDB Shell命令
MongoDB服务器已构建为可以与当前的Web服务器一起使用。 问题是您需要为首选的后端语言(PHP,Ruby,Node.js,Perl等)安装驱动程序。 我不会进入安装WAMP / MAMP的过程,因为这与Mongo无关。
但是,已经存在非常容易遵循的教程, 可以在任一操作系统上安装WAMP和安装MAMP 。
注意:您仍然可以在没有Web服务器的情况下使用MongoDB服务器。 但是大多数应用程序都需要这样做,这就是为什么我主要关注Web开发的MongoDB的原因。
您可以通过使用安装的特定端口号访问本地主机地址来从MongoDB进程中获取一些输出。
MongoDB将默认为27017 。 这是驱动程序端口,并查看我们要使用的28017分析/诊断。 因此,您可以通过访问以下内容在浏览器中访问MongoDB服务器信息:
http://localhost:28017
无论您的本地Web服务器是否在线,该地址都应该仍然可以正常工作。
安装并运行WAMP或MAMP之后,可以访问端口:80上的localhost Web服务器,以查看默认页面模板。
现在,我将指导您安装PHP驱动程序,我们将完成基于MongoDBPHP类库的开发。
设置MongoDB PHP驱动程序
Mac和Linux用户应该能够直接从命令行安装这些驱动程序。 查看MongoDB PHP语言文档,我们应该使用Pear Library of PHP code中的pecl进行安装。
这是应该从终端运行的代码行:
sudo apt-get install php5-dev php5-cli php-pear
sudo pecl install mongo
如果您已经安装了Pear,则无需运行第一行。 这仅适用于未更新到最新Pear库PHP安装。 但是在命令完成后,找到您的php.ini文件并添加以下代码:
extension=mongo.so
您应该在文件中途某处注意到类似的代码块,其中有许多其他行镜像了extension = name。 大多数扩展都被注释掉,但是没有井号(#)的行当前是活动扩展。
添加此行后,保存并关闭文件,然后重新启动Apache Web服务器以使新更改生效。
Windows上的Mongo PHP扩展
Windows上的所有用户也将需要编辑其php.ini文件。 单击图标,然后转到PHP-> php.ini,可以直接从WAMP上下文菜单中完成此操作。 您需要添加相同的代码行,但文件名应为php_mongo.dll 。
另外,与其通过命令行进行安装,不如下载扩展程序的副本并手动将其移过来要容易得多。
Windows用户应转到充满MongoDB PHP驱动程序的Github目录 。 查找支持您PHP版本(5.2、5.3、5.4)的最新版本,然后下载.zip。 提取文件夹后,找到与您PHP版本匹配的扩展名。 就我而言,我将使用php_mongo-1.2.12-5.3-vc9.dll并将其重命名为php_mongo.dll 。
现在,将此文件直接放在C:\wamp\bin\php\php5.x\ext\
PHP扩展目录中。 如果您已经移走了这个文件,并且将扩展代码行添加到了php.ini文件中,那么一切应该都很好! 重新启动Web服务器,并打开phpinfo()
页面以查看结果。
您可以按CTRL + F搜索“ mongo”,并且应该找到有关模块本身的详细信息。
用PHP进行Mongo Web开发
有关Web开发和数据库的讨论太多了。 这只是一个入门教程,因此我们将无法涉及许多主题,包括用户,身份验证,更新对象,多个数据库等。但是,让我们通过遍历PHP MongoDB类以及如何快速连接到数据库。
在本示例中,我将使用测试数据库访问先前创建的“ shows”集合。 我们可以使用PHP提取所有这些数据,并在网页上显示内容。 我正在使用以下代码在本地服务器根目录shows.php中创建一个新PHP文件:
<?php
// Config
$dbhost = 'localhost';
$dbname = 'test';// Connect to test database
$m = new Mongo("mongodb://$dbhost");
$db = $m->$dbname;// select the collection
$collection = $db->shows;// pull a cursor query
$cursor = $collection->find();?>
我正在做的是选择测试数据库,然后进一步访问内部的shows集合。 我们可以在任何Mongo集合对象上运行find()函数,以拉出带有所有相关内部数据的光标。
现在将这些信息输出到页面上,让我们使用var_dump() ,它比print_r()更好。 将这最后一个代码块直接添加到$cursor
变量下面。
foreach($cursor as $document) {var_dump($document);
}
此foreach()
循环将遍历游标结果并为每个内部数组输出变量数据。 我们应该有3个对象显示前面添加到电视节目中的数据。 您会注意到还有另一个名为_id的键,它是为每个文档创建的自动对象ID。
我必须建议仅浏览Google或MongoDB文档,以了解有关PHP类的更多信息。 有太多信息,因此不能全部塞入本入门教程中。 但是,这个小PHP脚本应该是Mongo数据库实际灵活性的一个示例! 无需混淆SQL命令,无需身份验证(除非需要),并且所有语法都非常易于阅读。
最后的想法
熟悉数据库的开发人员可能仍然很难阅读本文。 两次或三遍阅读本教程甚至可能会让您对某些术语感到困惑。 但是不要对Mongo最初的障碍感到沮丧。 即使是一周的练习时间也足以使您真正理解。
与其他竞争对手的系统相比,Mongo开源数据库系统是无模式的并且可快速扩展。 您不仅限于列或表,而且可以通过类似JSON的语法快速完成数据插入。 而且,一旦理解了代码,使用PHP连接Web应用程序通常比使用MySQL / MSSQL容易。
我确实希望这个初学者的教程能够提供从MongoDB术语到安装 , shell命令和简易Web开发的完整概述。
在构建新的Web项目时,整体Mongo可能不是您的首选数据库。 但是该系统安全,非常可靠,并且逐渐受到越来越多的专业支持者的关注。
翻译自: https://www.hongkiat.com/blog/webdev-with-mongodb-part3/