Java使用
添加依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
</dependencies>
配置属性文件(appliction.yml)
spiring:
#数据源配置
data:
mongodb:
#主机地址
host: locahost
#数据库
database: test
#默认端口时27017
port: 27017
#也可以使用url连接
#url:mongodb://localhost:27017/test
添加数据
db.comment.insert({
_id:'1',
content:"我们不应该吧清晨浪费在手机上,哈哈",
pulishtime :null,
userid:'1002',
nickname:"Aoi"
})
创建分页
在CommentReposity中添加方法
public interface CommentRepository extends MongoRepository<Comment,String>{
Page<Comment> findByParentid(String parentid,Pageable pageable);
}
在Service中添加该方法
public Page<Comment> findCommentListByParentid(String parentid,int page,int size){
return commentRepository.findByParentid(parentid, PageRequest.of(page-1,size));
}
实现点赞
在Service中新增updateThumbup方法
public void updateCommentThumbupToIncrementingOld(String id){
Comment comment = commentRepository.findById(id).get();
comment.setLikenum(comment.getLikenum()+1);
CommentRepository.save(comment);
}
以上方法效率不高,只需要将点赞数+1就可以,没必要查出所有字段以后再更新所有字段。
可以使用MongoTemplate类来实现对某列的操作
(1)修改CommentService
@Autowired
private MongoTemplate mongoTemplate;
public void updateCommentLikenum(String id){
Query query = Query.query(Criteria.where("_id"),is(id));
Update update = new Update();
update.inc("likenum");
mongoTemplate.updateFirst(query,update,"comment");
}
|