JAVA中,使用了MongoTemplate模版。说一下MongoTemplate插入的问题(即MongoTemplate的insert方法)
在做数据保存的时候,我想用MongoDB自动生成的ObjectId,,需要获得刚刚插入的对象,最主要的是获得自动生成的ObjectId。
其实很简单,
直接经过insert(参数)这里面的参数就是已经插入成功的对象,包括了ObjectId
代码如下:
@Override
public <S extends Tree> S save(S entity) {
mongoTemplate.insert(entity);
return entity;
}
上面的代码是关键,下面可以不用看。
使用JUnit测试代码:
@Test
public void testSave() {
Tree tree = new Tree("魅族MX4 Pro", "按压式指纹识别功能。全新的20nm八核处理器、2K+屏幕(分辨率为2560x1536)、3GB内存、Hi-Fi音质……", 25);
logger.info("已经保存!!!返回值是:\n" + treeDao.save(tree));
}
下面是输出结果:
可以看到已经拿到了Ojbect,就在对象中。