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/ 之类的东西。

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