1.0 php 操作mongodb
https://blog.csdn.net/weixin_43910923/article/details/89606752
1.创库建表基础命令
1.查看当前数据库
show dbs;
2.查看当前库下的集合
show tables/collections;
3.切换库
use database_Name; database_Name 库名
use 不存在的库,然后创建集合就会显示该库
4.创建集合
db.createCollection('test') ;
创建集合test
2. 集合增删改查
2.1 插入数据
db.test.insert({name:'list',age:20}); 往test集合插入数据
2.2 查询数据
2.1查询test集合所有数据
db.test.find();
查询总数 db.test.find().count();
2.2查询name= 亚索 的,只显示age字段
db.test.find({name:'亚索'},{age:1});
2.3查询name= 亚索 的,不显示age字段
db.test.findOne({name:'亚索'},{age:0});
2.4查询一条数据
db.test.findOne({name:'亚索'});
2.5查询age 不等于 35
db.good.find({age:{$ne:35}});
2.6查询age 大于 35
db.good.find({age:{$gt:35}});
2.7查询age小于或等于35的
db.good.find({age:{$lte:35}});
2.8 age 等于35 或者 15
db.good.find({age:{
$in:[35,15]
}});
2.9 取出age不等于35和15的
db.good.find({age:{ $nin:[35,15]}});
2.91查询age大于20,小于 30
db.good.find( {
$and: [ { age: { $lt: 30 } }, { age: { $gt: 20 } } ]
} );
2.92 查询出age小于30 或者num大于100的
db.good.find( { $or: [ { age: { $lt: 30 } }, { num: { $gt: 100 } } ] } )
2.93 查询num可以被5整除的 ( num%5==0 )
db.good.find({num:{$mod:[5,0]}},{age:1,num:1}) 查询num除以5余数为0的数据
2.94 取出有age这个列的数据
db.good.find({
age:{$exists:1}
})
2.95根据类型来查询数据
2.95.1 查询age是整型的数据
1:代表int 2:字符串
db.good.find({
age:{$type:1}
})
2.95.2查询course数组中的有JS和Mongodb的数据
db.users.find({course:{$all:["js","Mongodb"]}});
2.95.3 where查询
db.good.find({$where : "this.age>42"})
2.954 模糊查询 (查询name以德开头的数据)
db.good.find({name:{$regex:/^德.*/}})
2.955 分页查询
db.good.find().skip(100).limit(5) 跳过前100条数据查询5条数据
2.3 删除数据
db.test.remove({age:20}); 删除age等于20的数据
db.test.remove({age:20},true); 只删除一行
2.4 修改数据
db.test.update({name:'lisi'},{$set:{age:111}}); 修改name = lisi的用户 ,age修改为111
db.test.update({name:'亚索'},{
$set:{title:111}, // 设置标题等于111
$unset:{adder:1}, //删除adder字段
$rename:{age:'agee'}, // age 改为 agee
$inc:{money:5} //money 自增 5
});
3.mongodb索引
3.1 explain 分析语句
db.good.find({num:999}).explain("executionStats")
3.2 查看索引
db.good.getIndexes()
3.3 创建索引
db.good.ensureIndex({"age":-1});
php连接mongodb
$manager = new \MongoDB\Driver\Manager("mongodb://127.0.0.1:27017", [
'username' => 'admin',
'password' => '123456'
]);
$bulk = new \MongoDB\Driver\BulkWrite;
$bulk->insert(["name"=>"lisi","age"=>25,"adder"=>"jisuanjisiban"]);
//插入数据到useinfo数据库下的student表
$manager->executeBulkWrite("test.test",$bulk);
echo "insert success!!!";