结构:
database 数据库
collection 数据库表/集合
document 数据记录行/文档
field 数据字段/域
index 索引
primary key 主键,mongodb自动将_id字段设置为主键
常用指令:
db.help():查看库方法
db.mycoll.help():查看集合方法
show dbs :查看所以库
use 库名 切换库,库不存在就自动创建它
db.getName() :查看当前操作库的名称
添加数据:
mongodb中存储数据的格式是文档格式,以bson格式的文档形式
添加数据:
db.集合.insert();
#例 db.集合.insert({name:'xxx',sex:'nv',age:18})
多维数据添加:
#例 db.集合.insert({name:'xxx',age:20,area:{city:'beijing'}})
查询数据:
db.集合名称.find(查询条件) 取出符合条件的所有
db.集合名称.findOne(查询条件) 取出符合条件的第一条,并且以格式化形式返回
1.条件限制查询
#例 db.集合.find({name:'xxx'}) db.集合.findOne({name:'xxx'});
2.范围条件查询:
在mysql中常用 < > <= >= 进行范围内的查找,在mongodb中用
$lt $gt $lte $gte 进行限制
#例 db.集合.find({age:{'$lt':20}})
3.多个条件查询:
类似与and
#例 db.集合.find({age:{'$lt':20},monry:{'$lte':20000}})
4.多维字段查询:
db.集合.find({'xxx.xx':xxx});
#例 db.集合.find({'area.city':'beijing'});
5.数组条件查询:
#例 满足查询条件所有的才可显示 db.集合.find({xxx:{'$all':['xxx','xxx']}})
6.限制查询字段:
在开发过程中,不需要查询并显示太多的字段,可以选择设定显示
db.集合.find({查询条件},{筛选条件});
#例 db.集合.find({xxx:{'$all':['xxx','xxx']}},{xxx:1,xxx:0})
7.$or查询:
满足一个条件就可以显示
#例 db.集合.find({'$or':[{price:{'$gt':500}},{num:{'$gte':100}}]});
8.count语法:
db.集合.count()
限制条件:
#例 db.集合.find({num:{'$gt':50}}).count(); #或 db.集合.count({num:{'$gt':50}});
9.limit语法 skip语法:
类似于mysql中的limit(skip,length)语法
limit() 取几个
skip() 跳过几个
#例 db.集合.find().limit(1); db.集合.find().skip(1).limit(1)
修改数据:
语法:db.集合.update({查询条件},{修改条件})
db.集合.updateOne({查询条件},{修改条件})
#例 db.集合.update({name:'xxx'},{'$set':{price:5554}}) db.集合.updateOne({name:'xxx'},{'$set':{price:5554}})
如果没有$set关键字语法,把设置的字段进行修改,没有设置的就会被删除掉
删除数据:
db.集合.remove({查询条件})
db.集合.deleteOne({查询条件})
db.集合.deleteMany({查询条件})
删除字段:
可以删除某个字段的操作,使用的是update语法的$unset
#例 值随便给一个 db.集合.update({name:'xxxx'},{'$unset':{xxx:0}})
mongodb账号权限:
切换到admin库,进行用户创建
db.createUser({user:'用户名',pwd:密码",roles:['root']})
db.shutdownServer():关闭mongod服务
PHP中操作mongodb:
linux下在php.ini中开启extension=mongo.so加载扩展,需要提前编译好mongo扩展
win下将php_mongo.dll扩展放在ext中,在php.ini里开启extension=php_mongo.dll扩展
需要示例化mongoclient 扩展类,构造方法参数传“mongodb://ip”,
#例
#连接mongodb $mongo=new MongoClient('mongodb://192.168.0.0')
权限的账号:
#例 #端口号 设置的27017 $mongo=new MongoClient('mongodb://账号名:密码@192.168.0.0:2017/admin')
加载数据库:
#例
$database=$mongo->要加载的库名
选择集合(也就是数据表)
#例
#选择集合
$collection = $database->集合;
查询数据:
#例 $collection -> find(array('name'=>'xioming'),array('_id'=>0));
修改数据:
#例 前面是查询条件,后面是修改数据 $collection->update(array('name'=>'xiaoming'),array('$set'=>array('age'=>19)))
删除数据:
#例 $collection->remove(array('name'=>'xiaoming'));
未完待续~~~~~~~~