前面进行了mongodb的安装,php的扩展安装,开启mongo权限认证,现在就对前面进行的一切进行一个测试,测试是否连接成功,至于mongodb的各个权限有什么区别,之后再说。
第一步,在mongodb中创建一个有 readWrite 权限的用户,之前创建那个root权限可以进行admin表中用户的创建,拿他登录之后再来进行用户创建
use admin
db.auth("trouble i am in","trouble i am in")
db.createUser(
{
user:"readwrite",
pwd:"readwrite",
roles:[{role:"readWrite",db:"test"}]
}
)
上面指定了一个用户名和密码为 trouble i am in,权限为 readWrite 的用户,操作的数据库为 test
第二步,创建php文件,这里说一下,有些教程说用 Mongo类进行连接,其实 Mongo已经被废弃了,现在主张用 MongoClient
<?php
$c=new MongoClient("mongodb://user_name:passwords@host_name:port/admin");
$c->test->createCollection("admin2");
?>
上面标注的红色的部分表示是根据你的情况修改的,至于最后的 admin的位置,应该是要连接的数据库的名字,我原来想连接 test 的,但是写 test 的时候会报错,我写 admin 就不会,我以为是开启权限认证之后,每次登录都要登录 admin ,管他呢,反正后面还可以再指定要操作的数据库的操作
第二句话是指在此连接上调用 test 数据库,之后在此数据库上创建集合 admin2,我们前面创建此用户的时候赋予他的权限是 readWrite 保证了他有足够的权限创建新的集合
第三步,运行此 php 文件,当然在没有异常报错的情况下没有任何显示
第四步,直接在后台查看 test 看,是否有新的集合被创建,如果有,则表示前面做的一堆辛苦的事情是值得的如果不行,骚年,不哭,大不了重头再来