密码更改:db.changeUserPassword('tank2','test');
在这里我遇到了一个问题:
mongod: error while loading shared libraries: libcurl.so.4: cannot open shared object file: No such file or directory
所以安装curl
root@debian:/home/csr# apt-get install curlmonDB时间格式 处理方式 new MongoDB\BSON\UTCDateTime(Carbon::createFromFormat('Y-m-d H:i:s', '2018-06-15 12:12:12')->endOfDay());
/* 返回mongoDB的时间类型 */
function mongoDate($date){
return new MongoDB\BSON\UTCDateTime($date);
}
composer加载mongodb 在mongodb.json中添加语句 "jenssegers/mongodb":"~3.2"mongDB数据组成:数据包 - 集合 - 文档
游标的概念
var aa = db.集合名.find();
当输出aa之后,在此输出的时候,aa就没有值了
为了是aa中的数值一个一个的输出,可以使用循环的方式(这里可以理解成游标),或者可以理解成 查询构造器(将要查的数据先查询出来,需要的时候调用)
aa.forEach(x){
print_r(x.元素)
}性能分析
性能分析函数(explain)
使用方式 db.集合名.find({条件}).explain()索引
db.集合名.ensureIndex({"key":1}) 使用了ensureIndex在name上建立了索引。”1“:表示按照name进行升序,”-1“:表示按照name进行降序。
唯一索引只能在集合为空的时候才会生效 如果存在数据,不能生效
db.集合名.ensureIndex({'key':1},{'unique':true})
联合索引
db.集合名.ensureIndex({'key1':1,'key2':1})
db.集合名.ensureIndex({'key2':1,'key1':1})
建立上面两个索引之后,在搜索的时候系统会自动选择其中一个
如果想要执行指定的一个,可使用以下方式
db.集合名.find({'key1':'value1','key2':'value2'}).hint({'key1':1,'key2':1})
删除指定索引db.集合名.dropIndexes("getIndexes中的name")