此外,还支持使用updateMulti,updateMulti是将所有的对象进行更新,比如:
mongoOperation.updateMulti("user",
new Query(Criteria.where("firstname").is("yong")),
Update.update("age", 40));
new Query(Criteria.where("firstname").is("yong")),
Update.update("age", 40));
表示将所有firstname为yong的user对象的age属性全部更新为40。
查询Document
在spring mongodb中,可以使用findOne(),find()和getCollection()去查询mongodb,常见的用法如下:
User user = new User("...");
//找到第一个id=1001的user对象
User user = mongoOperation.findOne("test", new Query(Criteria
.where("id").is("1001")), User.class);
//从test集合中获得所有id<=1000并且age=21的user对象
List<User> users = mongoOperation.find("test", new Query(Criteria
.where("id").lte("2001").and("age").is(21)), User.class);
//从test 集合中获得所有的user对象列表
List<User> users = mongoOperation.getCollection("test", User.class);
//找到第一个id=1001的user对象
User user = mongoOperation.findOne("test", new Query(Criteria
.where("id").is("1001")), User.class);
//从test集合中获得所有id<=1000并且age=21的user对象
List<User> users = mongoOperation.find("test", new Query(Criteria
.where("id").lte("2001").and("age").is(21)), User.class);
//从test 集合中获得所有的user对象列表
List<User> users = mongoOperation.getCollection("test", User.class);
删除document
在spring mongodb中, 删除document使用remove方法,示例如下:
在spring mongodb中, 删除document使用remove方法,示例如下:
User user = new User("...");
//删除user集合中的user对象
mongoOperation.remove(user);
//删除test集合下的id=2的user对象
mongoOperation.remove("test", new Query(Criteria
.where("id").is("2")));
//删除test集合下的,id=3的user对象,最后并且返回这个被删除的对象
User deletedUser = mongoOperation.findAndRemove("test",
new Query(Criteria.where("id").is("3")), User.class);
User user = new User("...");
//删除user集合中的user对象
mongoOperation.remove(user);
//删除test集合下的id=2的user对象
mongoOperation.remove("test", new Query(Criteria
.where("id").is("2")));
//删除test集合下的,id=3的user对象,最后并且返回这个被删除的对象
User deletedUser = mongoOperation.findAndRemove("test",
new Query(Criteria.where("id").is("3")), User.class);