Mongodb常用知识点

结构:
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'));

未完待续~~~~~~~~

原文地址:https://www.cnblogs.com/bjphp/p/8531821.html