我已经从MSSQL世界变成了mongo,而且我已经得到了关于典型用例的未解答的问题。 (我在官方网站上没有找到相关信息)。 我做的事情都是这样的:
例如: 我想保护一些文件+元数据(文件名+文件长度)。
问题:
1)因为如果我的操作在步骤 2 之后失败了,我没有交易如何处理情况 - 只有流本身。什么是正确的处理方式?数据库分片到10台服务器,并祈祷它永远不会失败?创建后台服务以清除不一致的记录?
2)如何正确处理GridFS:删除文件+流,以容错方式重写流?
3)如何处理我的操作需要更改几个对象的情况?
答案 0 :(得分:0)
1& 2)上传失败时应该收到MongoGridFSException。所以只需在你认为合适的问题中处理catch子句。如果元数据不是太大,您还可以使用备选upload api并通过createOptions参数传递元数据。
3)对于更一般的情况,如果要确保上一次操作成功,可以使用getLastError command确保上次操作没有错误。