windows下php mongodb 安装配置使用查询

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介: 这几天参加了一个创意马拉松大赛,虽然没拿什么奖,重在参与嘛 终于有机会实践mongodb数据库了,以前只是自己配置装着玩玩 作者:风来了.呆狐狸 环境:window10 64 +php5.5.x+mysql5.7.x+mongodb2.6.x mongod安装 1.下载 http://www.mongodb.org/downloads 我这边下载的是64-bit msi 2

这几天参加了一个创意马拉松大赛,虽然没拿什么奖,重在参与嘛

终于有机会实践mongodb数据库了,以前只是自己配置装着玩玩

作者:风来了.呆狐狸

环境:window10 64 +php5.5.x+mysql5.7.x+mongodb2.6.x

mongod安装

1.下载

http://www.mongodb.org/downloads

我这边下载的是64-bit msi

2.安装

默认就可以

默认安装目录

C:\Program Files\MongoDB 2.6 Standard\bin

3.配置

为了省事另存为 d:\mongodb.cnf

dbpath = d:\mongodb\data
bind_ip = 127.0.0.1
port = 27017
quiet = true
logpath = d:\mongodb\log\mongod.log
logappend = true
journal = true

4.启动

这边使用的是bat批处理启动,省事。
下面就是 启动.bat

C:\"Program Files"\"MongoDB 2.6 Standard"\bin\mongod.exe -f d:\mongodb.cnf

如果要生成系统服务(不需要每次关闭电脑后还要重新启动数据库)请用

C:\"Program Files"\"MongoDB 2.6 Standard"\bin\mongod.exe --config d:\mongodb.cnf --install

5.数据库用户名密码

启动成功后数据库用户名和密码默认是空

php mongod 扩展安装

下载:http://download.csdn.net/detail/dupingjin/7577217

根据PHP版本选择相应的 扩展,这边使用

php_mongo-1.4.5-5.5-vc11-nts.dll
放入 php目录 ext文件夹下
修改 php.ini 

在;extension 下一行或 php.ini末尾增加

extension=php_mongo-1.4.5-5.5-vc11-nts.dll
重新启动PHP/NGINX/APACHE环境
测试输出看 phpinfo 中是否有 mongo 这个环境参数,有则安装成功!

测试

<?php
header("Content-type:text/html;charset=utf-8");
$m = new MongoClient("mongodb://127.0.0.1:27017");
//如果patent数据库不存在,默认自动新建
$db = $m->patent;
//如果title表不存在,默认自动新建
$collection = $db->title;
echo '<hr/>';
echo "查询显示结果";
echo '<hr/>';
/*
$count = $collection->find()->count();
echo "总数:$count<br/>";
$cursor = $collection->find()->skip(0)->limit(5);
$count = $cursor->count(true);
echo "第一页条数:$count<br/>";
foreach ($cursor as $document) {
    print_r($document);
}
*/
//echo '<hr/>';
//echo "一条";
//echo '<hr/>';
//$cursor=$collection->findOne();
//print_r($cursor);
//echo $collection->count();

php mongod 增删改查询

1.添加

$m = new MongoClient("mongodb://127.0.0.1:27017");
//如果lanmps数据库不存在,默认自动新建
$db = $m->lanmps;
//如果title表不存在,默认自动新建
$collection = $db->title;
$add = [ "title" => "www.lanmps.com", "author" => "风来了" ];
$result=$collection->insert($add);     //将$add 添加到$collection 集合中
echo "新记录ID:".$add['_id']; #MongoDB会返回一个记录标识
var_dump($result); #返回:bool(true)

2.修改更新

$m = new MongoClient("mongodb://127.0.0.1:27017");
//如果lanmps数据库不存在,默认自动新建
$db = $m->lanmps;
//如果title表不存在,默认自动新建
$collection = $db->title;
$where = [ "title" => "test.lanmps.com", "author" => "风来了" ,"id"=>new MongoId('3sdfasfzxcv234234sf')];
$coll->update(["host" => "www.lanmps.com"], ['$set' => $where]);

3.删除

$m = new MongoClient("mongodb://127.0.0.1:27017");
//如果lanmps数据库不存在,默认自动新建
$db = $m->lanmps;
//如果title表不存在,默认自动新建
$collection = $db->title;
$where = [ "title" => "www.lanmps.com", "author" => "风来了" ,"id"=>new MongoId('3sdfasfzxcv234234sf')];
//删除
$collection->remove($where);

4.查询

$m = new MongoClient("mongodb://127.0.0.1:27017");
//如果lanmps数据库不存在,默认自动新建
$db = $m->lanmps;
//如果title表不存在,默认自动新建
$collection = $db->title;
$where = [ "title" => "www.lanmps.com", "author" => "风来了" ,"id"=>new MongoId('3sdfasfzxcv234234sf')];
//查找一条
$cursor=$collection->findOne($where,['title','author','text']);
var_dump($cursor);
//查找 多条
$cursor = $collection->find($where);
var_dump($cursor);
$m = new MongoClient("mongodb://127.0.0.1:27017");
//如果lanmps数据库不存在,默认自动新建
$db = $m->lanmps;
//如果title表不存在,默认自动新建
$collection = $db->title;
$where = [ "title" => "www.lanmps.com", "author" => "风来了" ,"id"=>new MongoId('3sdfasfzxcv234234sf')];
/** 查询记录数 **/
echo $collection->count(); #全部
echo '<br/>';
echo $collection->count($where); #可以加上条件
echo '<br/>';
echo $collection->count(['day'=>['$gt'=>10,'$lte'=>20]]); #大于10小于等于20
echo '<br/>';
//limit 显示5条,从第0条开始
echo $collection->find()->limit(5)->skip(0)->count(true); #获得实际返回的结果数
// 注:$gt为大于、$gte为大于等于、$lt为小于、$lte为小于等于、$ne为不等于、$exists不存在
模糊查询

$querys = ["name" => new MongoRegex("/*.asdfsf*./$i")];
$collection->find($querys);


相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。 &nbsp; 相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
4天前
|
NoSQL 测试技术 定位技术
【MongoDB 专栏】MongoDB 的地理空间索引与位置查询
【5月更文挑战第10天】MongoDB 支持地理空间数据处理,提供2dsphere(球面)和2d(平面)索引,适用于地图导航、物流、社交网络等领域。通过创建索引,可加速位置查询,如查询范围、最近邻及地理空间聚合。案例包括地图应用、物流追踪和社交网络。注意数据准确性、索引优化和性能测试,以发挥其在地理空间处理中的潜力。学习此功能,为应用开发解锁更多可能性!
【MongoDB 专栏】MongoDB 的地理空间索引与位置查询
|
5天前
|
并行计算 Windows
23.10.02更新 Windows下CUDA和CUDNN的安装和配置(图多详细)
23.10.02更新 Windows下CUDA和CUDNN的安装和配置(图多详细)
14 1
|
10天前
|
Oracle Java 关系型数据库
windows 下 win11 JDK17安装与环境变量的配置(配置简单详细,包含IJ中java文件如何使用命令运行)
本文介绍了Windows 11中安装JDK 17的步骤,包括从官方网站下载JDK、配置环境变量以及验证安装是否成功。首先,下载JDK 17的安装文件,如果没有Oracle账户,可以直接解压缩文件到指定目录。接着,配置系统环境变量,新建`JAVA_HOME`变量指向JDK安装路径,并在`Path`变量中添加。然后,通过命令行(cmd)验证安装,分别输入`java -version`和`javac -version`检查版本信息。最后,作者分享了如何在任意位置运行Java代码,包括在IntelliJ IDEA(IJ)中创建的Java文件,只需去掉包声明,就可以通过命令行直接运行。
|
12天前
|
应用服务中间件 PHP nginx
php如何实现检测nginx配置的正确性
请确保在执行此操作时,PHP有足够的权限来执行Nginx命令和访问Nginx配置文件。另外,将上述代码嵌入到您的应用程序中时,要注意安全性,以防止潜在的命令注入攻击。
51 3
|
13天前
|
安全 数据安全/隐私保护 Windows
Windows文件搜索神器Everything安装配置结合内网穿透实现公网查询本地文件
Windows文件搜索神器Everything安装配置结合内网穿透实现公网查询本地文件
|
14天前
|
Unix Shell 开发工具
windows下如何安装git以及IDEA如何配置git
该文指导安装Git 2.15.0版本。首先从Git官网下载最新安装包,双击安装,依次选择Next,同意默认配置,确保勾选添加到环境变量。在配置选项中,选择在cmd中使用Git(第2项),行结束转换选Windows(第1项),终端模拟器选MinTTY(第1项)。安装完成后,通过右键菜单或直接打开Git Bash验证安装成功。最后,配置全局用户名和邮箱,并在IDEA中设置Git路径以完成集成。
|
14天前
|
NoSQL 数据处理 MongoDB
MongoDB查询操作深度剖析
【4月更文挑战第30天】本文深入探讨了MongoDB查询操作,包括查询语法、优化及高级技巧。使用`find()`方法进行查询,如`db.users.find({ age: { $gt: 25 } })`找年龄大于25的用户。优化查询性能涉及创建索引、使用复合索引和避免全表扫描。高级查询涵盖聚合管道、文本搜索和地理空间查询,提供复杂数据处理和地理位置查询能力。理解并应用这些知识能提升MongoDB的使用效率和应用性能。
|
16天前
|
运维 JavaScript Serverless
Serverless 应用引擎产品使用之在阿里函数计算中,Php环境,配置取消禁止函数exec如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
33 4
|
19天前
|
API C++ Windows
windows编程入门_链接错误的配置
windows编程入门_链接错误的配置
19 0
|
1月前
|
编译器 C语言 C++
VSCode上搭建C/C++开发环境(vscode配置c/c++环境)Windows系统---保姆级教程
VSCode上搭建C/C++开发环境(vscode配置c/c++环境)Windows系统---保姆级教程