购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.5.3 更新操作

MongoDB使用update()和save()方法来更新集合中的文档。

1.update()

update()更新文档的基本语法如下:

<query>参数设置查询条件,<update>为更新操作符,比如$inc、$set、$unset、$push、$pull等。

upsert为布尔型可选项,表示如果不存在update的记录,是否插入这个新的文档。true为插入;默认为false,不插入。

multi也是布尔型可选项,默认是false,只更新找到的第一条记录。如果为true,则把按条件查询出来的记录全部更新。

writeConcern表示出错级别。

collation指定语言。

例如,插入一条数据后,使用update进行更改,代码如下:

将item为card的数量qty更正为35,代码如下:

collation允许MongoDB的用户根据不同的语言定制排序规则,在MongoDB中字符串默认当作一个普通的二进制字符串来对比。而对于中文名称,通常有按拼音顺序排序的需求,这时就可以通过collation来实现。创建集合时,指定collation为zh,按name字段排序时,则会按照collation指定的中文规则来排序,代码如下:

2.save()

MongoDB另一个更新命令是save(),语法格式如下:

obj代表需要更新的对象,如果集合内部已经存在一个与obj相同的“_id”的记录,Mongodb会把obj对象替换集合内已存在的记录;如果不存在,则会插入obj对象。

如下代码会先保存一个_id为100的记录,然后再执行save,并对当前已经存在的数据进行修改:

如果使用insert插入记录,若新增数据的主键已经存在,则会抛出DuplicateKeyException 异常提示主键重复,不保存当前数据。 IxIdfcpAgz64KKrsNeLQLV9jn7ScQYX8VruKohk0L+xz1ehrCd+9omAfCnMkWdpz

点击中间区域
呼出菜单
上一章
目录
下一章
×