一架梯子,一头程序猿,仰望星空!
Java MongoDB教程 > 内容正文

Java MongoDB更新文档


本章介绍Java MongoDB如何更新文档。

1.前置教程

2.更新多行数据

UpdateResult ur = mongoTemplate.updateMulti(
                    query(where("accounts.accountType").is("tizi365.com")), // 设置查询条件
                    new Update().inc("accounts.$.balance", 50.00), // 通过Update对象设置更新内容
                    Account.class // 设置需要更新的集合对象,通过对象名计算出集合名字

说明:
Spring mongodb包通过Update对象封装了mongodb的的所有更新操作符。

3.Update对象详解

// $set操作符 - 更新字段值
// { $set: { "course.title": "tizi365.com", "type": 5 } }
new Update().set("course.title", "tizi365.com").set("type", 5)

// $inc操作符,累加字段值
// { $inc: { "accounts.$.balance": 50.00 } }
new Update().inc("accounts.$.balance", 50.00)

// $push数组操作符 - 将数据添加到数组中
// { $push : { "category" : { "$each" : [ "spring" , "data" ] } } }
new Update().push("category").each("spring", "data")

// $addToSet操作符 - 将数据添加到集合中,重复元素则忽略
// { $addToSet : { "values" : { "$each" : [ "spring" , "data" , "mongodb" ] } } }
new Update().addToSet("values").each("spring", "data", "mongodb");