MongoDB
基于分布式文件存储的数据库
MongoDB中数据的基本单元称为文档(Document),它是MongoDB的核心概念,由多个键极其关联的值有序的放置在一起组成,数据库中它对应于关系型数据库的行。
数据在MongoDB中以BSON(Binary-JSON)文档的格式存储在磁盘上。
基本操作
增
|
|
查
|
|
- criteria – 查询条件,文档类型,可选。
- projection– 返回的字段,文档类型,可选,若需返回所有字段,则忽略此参数。
改
|
|
save命令可以更新或插入一个新文档
- query:查询条件,文档,和find中的查询条件写法一致。
- update:修改内容,文档。
- upsert(可选):如果值为true,那么当集合中没有匹配文档时,创建文档。默认false。
- multi(可选):如果值为true,那么将更新全部符合条件的文档,否则仅更新一个文档,默认false。
删
|
|
- query:BSON类型,删除文档的条件。
- justOne:布尔类型,true:只删除一个文档,false:默认值,删除所有符合条件的文档。
字段查询
相等条件
|
|
比较条件
|
|
数组条件
当字段包含数组,可以进行数组完全匹配或匹配特定的值
|
|
子文档条件
|
|
复合查询 AND/OR
|
|
游标与结果集
cursor游标
find命令并不直接返回结果,而是返回一个结果集的迭代器,即游标。
可以使用next方法来遍历游标
|
|
使用forEach方法也能实现游标的遍历12var myCursor = db.inventory.find( { type: "food" } );myCursor.forEach(printjson);
结果集
限制条件12db.collection.find().limit(Num)db.person.find({},{name:1})