Spring整合MongoDB插入新数据获得返回值

时间:2024-05-23 15:24:59

AVA中,使用了MongoTemplate模版。说一下MongoTemplate插入的问题(即MongoTemplate的insert方法)


在做数据保存的时候,我想用MongoDB自动生成的ObjectId,,需要获得刚刚插入的对象,最主要的是获得自动生成的ObjectId。

其实很简单,直接经过insert(参数)这里面的参数就是已经插入成功的对象,包括了ObjectId

代码如下:
[java] view plain copy
  1. @Override  
  2.     public <S extends Tree> S save(S entity) {  
  3.         mongoTemplate.insert(entity);  
  4.         return entity;  
  5.     }  


上面的代码是关键,下面可以不用看。

使用JUnit测试代码:
[java] view plain copy
  1. @Test  
  2.     public void testSave() {  
  3.         Tree tree = new Tree("魅族MX4 Pro""按压式指纹识别功能。全新的20nm八核处理器、2K+屏幕(分辨率为2560x1536)、3GB内存、Hi-Fi音质……"25);  
  4.         logger.info("已经保存!!!返回值是:\n" + treeDao.save(tree));  
  5.     }  
下面是输出结果:
Spring整合MongoDB插入新数据获得返回值
Spring整合MongoDB插入新数据获得返回值
可以看到已经拿到了Ojbect,就在对象中。