带有虚线字段的MongoTemplate更新文档

时间:2017-05-10 15:15:34

标签: spring-data spring-data-mongodb

我插入了一些包含虚线字段的文档。使用配置转换点。

((MappingMongoConverter) mongoTemplate.getConverter())
                                  .setMapKeyDotReplacement("#dot#");

final MyBean bean = networkDataRepository.insert(networkData());

private MyBean networkData() {
    return MyBean.builder().property("dotted.key", true).build();
}

属性是地图

这很有效。

现在我想用以下内容更新它:

final Update update = new Update();
update.set("properties", ImmutableMap.of("dotted.key", false));
final WriteResult updateFirst = 
             mongoTemplate.updateFirst(query, update, MyBean.class);

但这引发了一个例外:

org.springframework.dao.DataIntegrityViolationException: Write failed with 
error code 57 and error message 'The dotted field 'dotted.key' 
in 'properties.dotted.key' is not valid for storage.

感谢您的回答

0 个答案:

没有答案