我正在使用 Spring Data 的 MongoTemplate 通过单个查询更新多个文档。我需要能够限制每次通话更新的文档数量。由于我不清楚的原因,限制不起作用:
Query query = new Query(
Criteria.where( "foo" ).is( bar )
.and( "status" ).is( 1 ) );
query.limit( 10 );
Update update = new Update();
update.set( "status", 2 );
WriteResult result = mongoTemplate.updateMulti( query, update, "bazCollection" );
logger.info( result.getN() + " documents updated" );
result.getN() 总是返回满足条件的文档总数并且忽略限制,并且所有满足条件的文档都被修改。
这有什么不工作的原因吗?
有没有更好的方法来完成同样的事情?