MongoDB + MongoCXX 的原子操作

Atomic Operations with MongoDB + MongoCXX

我是 MongoDB 的新手,但对 C++ 很有经验。我在我的应用程序中使用 MongoCXX 驱动程序。我现在需要做的是增加一个由多个程序共享的计数器。我的想法是这需要一个原子操作,但我不知道如何使用 MongoCXX 执行此操作。

搜索后,我发现它似乎是遗留的、已弃用的 API 正是我所需要的:

http://mongocxx.org/api/legacy-v1/atomic__word__intrinsics_8h_source.html

在这里,我清楚地看到了我想做的事情:

WordType fetchAndAdd(WordType increment)

但是,我在当前的 C++ 驱动程序中看不到这样的东西。

http://mongocxx.org/api/mongocxx-3.6.2/annotated.html

有什么方法可以对我缺少的当前 API 执行此类操作吗?

您可以使用 https://docs.mongodb.com/manual/reference/operator/update/inc/.

一些驱动程序为服务器命令提供了包装器,但这些包装器并不是绝对必要的,因为您始终可以直接调用服务器命令。