我正在重构一个应用程序以使用 mongo-scala 驱动程序版本 2.0 而不是 reactivemongo。通过使用 reactivemongo 和 casbah,我开始期望能够通过提供一个查询来查找目标文档和一个新文档来更新它来更新文档。
Casbah 中的方法如下所示(从此处复制。)
def update[A, B](q: A, o: B, <...some other stuff...>):
TypeImports.WriteResult
Performs an update operation.
q: search query for old object to update
o: object with which to update q
看来我不能使用 mongo-scala 驱动程序来执行此操作,而是必须提供要更新的每个字段及其新值。问题是更新所有可能已更改的内容的唯一可靠方法是传入一个新文档。
所以我想知道我是否只是遗漏了一些明显的东西,或者真的没有办法用 mongo-scala 驱动程序做我想做的事?有没有人为这个缺失的功能找到一个合理的解决方法?