|

YunVN网友
发表于 2015-7-9 10:49:14
|阅读模式
来源:http://blog.sina.com.cn/s/blog_966e430001019s8z.html
PHP 扩展mongon.mod.dll 下载http://cn.php.net/manual/en/mongo.installation.php#mongo.installation.windows
然后php.ini添加 extension=php_mongo.dll
最后phpinfo() 查找到
表标PHP已经自带了mongo功能,你就可以操作下面的代码(但是你必须有安装mongodb服务器)
链接数据库
使用下面的代码创建一个数据库链接
现在你可以使用$connection链接来操作数据库了
选择数据库
使用下面的代码来选择一个数据库
这里的数据库并不一定是一个已经存在的数据库,如果所选择的数据库不存在,则会新建一个数据库,所以在选择数据库的时候,注意一定要填上正确的数据库名
如果拼写错误的话,很有可能会新建一个数据库
获取一个集合
获取一个集合跟选择数据库拥有相同的语法格式
插入一个文档
多维数组是可以被储存到数据库中的基本单元
一个随机的文档可能是这样
注意:你可以嵌套数组与对象,对象与文档在mongodb中几乎是一样的,你可以使用$doc调用一个文档或对象,但是info字段总是一个对象而不是一个文档,
本约束适用于所有文档
使用MongoCollection::insert()插入一个文档
mongodb 的 insert()、save() ,区别主要是:若存在主键,insert() 不做操作,而save() 则更改原来的内容为新内容。 存在数据: { _id : 1, " name " : " n1 " }
insert({ _id : 1, " name " : " n2 " }) 会提示错误
save({ _id : 1, " name " : " n2 " }) 会把 n1 改为 n2 。
使用MongoCollection::findOne()查询文档
为了证明上面那段代码的数据已经插入到数据库里了,我们进行简单的 findOne()操作以得到集合中的第一个文档数据,这种方法只返回一个文档数据,
这种方法适用于在你的查询语句的时候只匹配一个文档或者你只关心第一条数据
你会看到下列结果
array(5) {
["_id"]=>
object(MongoId)#6 (0) {
}
["name"]
string(7) “MongoDB”
["type"]=>
string(8) “database”
["count"]=>
int(1)
["info"]=>
array (2) {
["x"]=>
int(203)
["y"]=>
int(102)
}
["versions"]
array(3) {
[0]=>
string(5) “0.9.7″
[1]=>
string(5) “0.9.8″
[2]=>
string(5) “0.9.9″
}
}
注意_id字段自动加载了文档上,MongoDB储存元素中以_以及$开头的都是供内部使用的
添加更多文档
为了做一些更有趣的事情,我们添加更多简单的文档到集合中,这些文档如下
我们可以使用循环相当有效的插入数据
注意:我们可以插入不同的字段在同一字符集中,在这方面意味着MongoDB拥有非常自由的储存模式
在一个集合中计算文档的数量
现在我们插入了101个文档(我们用循环插入了100个,之前还插入了一个),我们可以使用count()来看看我们的数据是不是都被插入进去了
这段代码将打印出101
MongoCollection::count() 也可以查询字段数据
使用游标得到集合中的所有文档
为了得到集合中的所有文档,我们可以使用 MongoCollection::find()方法,find()方法返回一个 MongoCursor对象,可以让我们重复得到查询
所匹配的的文档
这样我们会打印出集合中的这101个文档,$id就是文档中的_id字段,$value 就是文档本身
为查询规定一个标准
我们可以通过find()方法得到集合中的文档子集,例如,我们要查询出集合中i字段为71的文档,我们可以使用下列方法
我们将打印如下数据
array(2) {
["_id"]=>
object(MongoId)#6 (0) {
}
["i"]=>
int(71)
["_ns"]=>
“testCollection”
}
为查询设定一个范围
我们可以通过find()创建一个查询语句以得集合中的一个子集,例如如果我们得到所有”i”>50的文档,我们可以使用如下代码
我们同样可以得到20 < i
我们非常容易漏掉$美元符号,你也可以选择你自定义的符号来代替美元符号,选择一个不会在你的建里面出现的符号例如”:”,在php.ini中加上这么一句话
mongo.cmd = “:”
那么上面的代码就可以替换成
当然你也可以使用ini_set(“mongo.cmd”, “:”)的方法来改变
创建一个索引
MongoDB支持索引,并且可以很容易的加到一个集合中,你只要指定某个字段为索引就行了,并且还可以指定 正序索引(1)与 倒序索引(-1)
下面的代码为I创建了索引
一个简单的列子
这个例子展示了如何链接mongodb数据库,如何选择数据库,如何插入数据,如何查询数据,以及关闭数据库链接
输出结果为
Calvin and Hobbes
XKCD
注意补充:mongodb数据类型控制的很严格,比如字符串的1 和整型的1 在查找时,只能匹配到对应的数据 |
|
|
|
|
|
|