最近开始阅读一些关于MongoDB的文章,越来越觉得它就是我所需要。不过,我先对对它知之甚少,看到都是些表面现象,慢慢了解吧。

昨天开始阅读卡尔写的MongoDB简介,一共33页,感觉文章说得不算太清楚,需要自己动手多尝试和体会。

对于传统数据库来说CRUD(=Create+Read+Update+Delete)就是核心了,而U又是其中最值得关注的!今天把Update部分边看简介,边实践了一下。

Update有4个参数:第一个、selector,第二个、newValue,第三个、upserts,第四个、multipleUpdate

selector和CRD的一样,是个检索选择器,明确查询条件的;

newValue就是要更新的内容了,包含两种基本情况,即有没有$set、$inc、$push这些参数:

  情况一、无参数,则newValue替换掉原先selector的内容;

  情况二、有参数,则$set是对指定field进行更新newValue;$inc要求指定field为数值,加上newValue值;$push要求指定field为数组,为数组加入newValue项。当然,参数肯定还有很多,我也先只学到这么多!

  具体我就不展开了,敲一遍代码就知道啥意思;

upserts是个逻辑值参数,默认为false,即根据selector查询,查到了document,那就执行更新;没查到就啥也不做。那设置为true,意思就很明显了,如果没查到就Create一个新document存放selector和newValue。

multipleUpdate也是个逻辑值参数,默认为false,即根据selector查询,查到了documents,那就执行更新第一条document;设置为true的话,就把所有查到的document都更新。

前面写的两篇MongoDB入门笔记

Fields VS. Columns
MongoDB 1st step

posted on 2011-08-22 23:24  YuL  阅读(2046)  评论(2编辑  收藏  举报