C++ Mongodb:如何在线程中锁定数据库?

C++ Mongodb:如何在线程中锁定数据库?,c++,multithreading,mongodb,C++,Multithreading,Mongodb,我正在从事一个mongodb项目,该项目需要在一个线程中锁定db以进行读取。我用的是: OperationContextImpl txn; ScopedTransaction scopedXact(&txn, MODE_IS); AutoGetDb autoDb(&txn, "db1", MODE_S); Database* db = autoDb.getDb(); 它作为mongod在主线程中工作,但如果我将其放在另一个线程中,则会出现此异常,mongodb异常退出: Pur

我正在从事一个mongodb项目,该项目需要在一个线程中锁定db以进行读取。我用的是:

OperationContextImpl txn;
ScopedTransaction scopedXact(&txn, MODE_IS);
AutoGetDb autoDb(&txn, "db1", MODE_S);
Database* db = autoDb.getDb();
它作为mongod在主线程中工作,但如果我将其放在另一个线程中,则会出现此异常,mongodb异常退出:

Pure call handler invoked writing minidump diagnostic file xx.mdmp immediate exit due to invalid pure

我想我对db锁的使用应该有问题。有什么建议吗?谢谢

什么样的例外?顺便说一下,MonogDB不支持事务。谢谢。错误如下所示:由于无效的pureWhat类型的异常,Pure调用处理程序调用写入MinidDump诊断文件xx.mdmp立即退出?顺便说一下,MonogDB不支持事务。谢谢。错误如下所示:由于Pure无效,Pure调用处理程序调用了写入MinidDump诊断文件xx.mdmp立即退出