我的问题很简单,所以请原谅......
Spring Data MongoDB 支持更新查询中的点表示法吗?
我尝试执行此片段:
Query query = new Query(Criteria.where("_id").is(id));
Update update = new Update();
update.set("value.version",version);
mongoOperations.updateFirst(query, update, Audit.class);
并在 Audit
集合中发现没有预期的变化。我错过了什么?
最佳答案
我的错误是我没有意识到查询条件的is()
部分中的id
必须是ObjectId。由于某种原因,Spring Data 会自动从 ObjectId 转换为 BigInteger,但不会自动从 BigInteger 转换为 ObjectId。
如果有人知道如何手动转换,请回答this question
关于java - Spring数据MongoDB : update using dot-notation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17526558/