2018-01-10

  1. app店铺认证减少字段。不必要的设required为false。
  2. 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));

你可能感兴趣的:(2018-01-10)