①、特性
文档数据库
高性能高可用性集群
文档是BSON对象
一个collection是一组相关的document,它们共享相同的indexs
②、如何使用
mongo; //进入mongodb javascript交互
show dbs; //查看有哪些db
use mydb; //切换到mydb
db; //当前db
show collections; //查看有哪些collection
var c = db.users.find(); //返回游标
③、CURD
调用方式为 db.collection.action
查询:
![](https://images0.cnblogs.com/i/572874/201408/191637471741761.png)
find()的参数为json,操作符要转换为对应的对象表示,比如<18 用 {$gt:18} 表示
查询中常用到的操作词有:
$or $gt $lt $elemMatch $in $exists
可以用属性符号. 引用子元素或子属性
分析查询语句的性能
.explain()
插入:
方法一:
![](https://images0.cnblogs.com/i/572874/201408/191640588781560.png)
类比sql:![](https://images0.cnblogs.com/i/572874/201408/191641196595875.png)
![](https://images0.cnblogs.com/i/572874/201408/191641196595875.png)
insert中常用到的操作词有:
$set $inc
方法二:
指定_id 的save语句
1 db.inventory.save({ 2 _id: 10, 3 type: "misc", 4 item: "placard" 5 })
删除:
![](https://images0.cnblogs.com/i/572874/201408/191649200496805.png)
类比sql:![](https://images0.cnblogs.com/i/572874/201408/191649415818048.png)
![](https://images0.cnblogs.com/i/572874/201408/191649415818048.png)
④、事务处理
没有提供api层面的事务处理,只能通过业务代码层面,在文档中添加status、transaction等字段模拟事务的处理
⑤、重要api解读
update()传入三个参数,第一个查询条件、第二个对field的操作、第三个操作flag
find( ) 传入一个或两个参数,第一个查询条件、第二个筛选哪些field,查询条件支持正则