- app店铺认证减少字段。不必要的设required为false。
-
mongoDB在spring中的增删改查。
- 保存
mongoTemplate.save(followUser,"followWorks");
参数分别为要保存的对象和集合名字。也可以不要结合名字,默认对象名的集合。每次save都会加一条 - 查询
mongoTemplate.findAll(FollowUser.class,"followWorks");
参数分别是要查询的实体类和所在集合的名字。也可以用findOne - 更新
mongoTemplate.updateFirst(new Query(Criteria.where("userId").is("522")), Update.update("status","666"),FollowUser.class,"followWorks");
方法还可以是updateMulti,一个是更改查到的第一个,一个是更改查到的所有。参数分别是,mongo的查询语句,更新语句,要操作的类,要操作的集合名。 - 删除
mongoTemplate.remove(new Query(Criteria.where("userId").is("522")),FollowUser.class,"followWorks");
参数还可以是其他的。方法名都是remove
-插入mongoTemplate.insert(followUserArrayList,"followWorks");
insert可以插入集合,和save很像,网上看到,没验证,很久以前的。 - 更新内嵌数组的字段
mongoTemplate.updateFirst(new Query(Criteria.where("followUser.userId").is("3")),Update.update("followUser.$.status","2"),FollowWorks.class,"followWorks");
内嵌数组的字段用点列出,如果出现两个以上的字段的话,中间加数组的角标或用$表示当前的角标的内容。 - 查询条件 可创建对象如
Query query = new Query();Criteria criteriaUser=Criteria.where("followUser.userId").is(followId);Criteria criteriaWorks=Criteria.where("worksId").is(followedId); query.addCriteria(criteriaUser); query.addCriteria(criteriaWorks);
这样可以查询多个条件。 - 操作内嵌数组增删改
增加Update update = new Update(); update.addToSet("tags", tag); mongoTemplate.upsert(query, update, User.class);
更改Update update = new Update(); update.set("tags.$.enable", false); mongoTemplate.updateFirst(query, update, User.class);
删除Update update = new Update(); update.unset("tags.$"); mongoTemplate.updateFirst(query, update, User.class);
同时,条件可以用这种简单的方法Query query = Query.query(Criteria.where("_id").is(id) .and("tags.tagId").is(tagId));
- 保存
网友评论