Mongotemplate中的update方法return是什么意思?

What does the update method return in Mongotemplate?

我想知道mongoTemplate中update方法返回的结果是什么

例如。 mongoTemplate.updateFirst(query, update, entityClass); 它 returns 我们 WriteResult object.What 是它的内容,以防更新是 successful/fails。

updateFirst方法返回的结果是一个com.mongodb.WriteResult对象,下面的方法可以用来判断更新是否成功。

com.mongodb.WriteResult: This class lets you access the results of the previous write (update or insert).

如果更新是successful/fails,它的内容是什么?

getN():

如果成功,returns 集合中更新的记录数。

getError():

如果失败,returns 错误信息。

你可以看看 API here https://api.mongodb.com/java/2.6/com/mongodb/WriteResult.html

如 MongoTemplate 文档中所述:

public com.mongodb.WriteResult updateFirst(Query query, Update update, Class entityClass) Description copied from interface: MongoOperations Updates the first object that is found in the collection of the entity class that matches the query document with the provided update document. Specified by: updateFirst in interface MongoOperations Parameters: query - the query document that specifies the criteria used to select a record to be updated update - the update document that contains the updated object or $ operators to manipulate the existing object. entityClass - class that determines the collection to use Returns: the WriteResult which lets you access the results of the previous write.

可以使用以下方法找到结果: 返回成功的 getN() 和返回失败的 getError()。

http://docs.spring.io/spring-data/mongodb/docs/current/api/org/springframework/data/mongodb/core/MongoTemplate.html#updateFirst-org.springframework.data.mongodb.core.query.Query-org.springframework.data.mongodb.core.query.Update-java.lang.Class-

https://api.mongodb.com/java/2.6/com/mongodb/WriteResult.html

对于所有读者,这里有更多信息~

Mongo 的 mongoTemplate.updateFirst 和许多其他方法 return 抽象 UpdateResult class,即。 AcknowledgedUpdateResult & UnacknowledgedUpdateResult

的实例

您可以从该实例中获得的信息:

  • long matchedCount
  • long modifiedCount
  • BsonValue upsertedId # 文档 id 为字符串

您可以拨打

  • wasAcknowledged()
  • isModifiedCountAvailable()
  • getMatchedCount()
  • getUpsertedId()

请注意,isModifiedCountAvailable() 已弃用。

通过执行上述方法(以及 com.mongodb.client.result 中的许多其他类似方法),您 无法 获得完整的 document/model.

您能做的最好的事情是检查更新是否成功,检查修改的计数,and/or 如果需要,执行另一个查询以按 ID 查找完整文档。

希望这对其他人有帮助,考虑到以上信息对我本人没有多大用处。