我插入了一些包含虚线字段的文档。使用配置转换点。
((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.
感谢您的回答