标签:cer ast ffffff 一般来说 mod new neu document white
---恢复内容开始---
数据库的操作一般来说都是CRUD,这其中最难的就是查询,所有所我们先来了解MongoDB中的
说到插入,我们就必须得说说如何创建数据库,如何创建集合,然后才是如何创建文档.
在这里说到的集合也就是关系型数据库中的表(Table),文档也就是(Row).
现在我们要做的就是创建一个Flast数据库,创建一个m集合,然后插入一个文档.
先来看简单的更新:
我们现在想要把name:"xu"变成name:"joe",age:23
我们可以看到用红色框表明的那三个属性
nMatched:表示的是捕获的数量
nUpserted:表示的是插入的数量
nModified:表示的是修改的数量
现在我们来看看Update的真正语法
db.collection.update( <query>, <update>, { upsert: <boolean>,(false)是否在不存在的时候插入 multi: <boolean>,(false)是否多选 writeConcern: <document>异常级别 } )
为了演示上面这三个可选参数并说明更新后的参数,我们需要添加一个文档
演示第一个 upsert(false)
演示第二个 multi(false)
于是有了下面的代码:
从上面我们也可以看到捕获到了两条,修改了两条,
我们还可以使用findAndModify命令来修改
使用这个命令我们就可以很清楚的看出哪些文档被修改了,当然并不推荐这个,损耗性能
顺便介绍一下"findAndModify"都有哪些命令:
>query 查询语句
>update 更新语句,只能更新找到的第一条语句
>remove (boolean)是否删除
>new (boolean) 代表是返回更新前的还是更新后的,默认是更新前的,从上面的value就可以看出来
删除当然是比较简单的呐,直接看语法吧!
db.collection.remove( <query>,(可选)删除的文档的条件 { justOne: <boolean>,(可选)如果设为 true 或 1,则只删除一个文档。 writeConcern: <document>(可选)抛出异常的级别。 } )
来看下例子
查询一般都是最难的部分,因为有许多的逻辑,我们从最简单的学起:
比如我们想查询name="jack"的文档
可以看到我们什么都没有找到,不过我相信有了上面的修改对这个一定是可以理解的,
我们重点是来了解 $指令
---恢复内容结束---
标签:cer ast ffffff 一般来说 mod new neu document white
原文地址:http://www.cnblogs.com/student-note/p/6189526.html