gpt4 book ai didi

c++ - 如何使用 C++ 驱动程序重新连接到 MongoDB?

转载 作者:行者123 更新时间:2023-11-28 08:12:02 24 4
gpt4 key购买 nike

我有一个 C++ 函数,它使用 C++ 驱动程序将文档保存到 MongoDB。它以连接引用作为参数:

http://pastebin.com/jwRDhNWQ

当我重新启动 MongoDB 时,我可以看到正在建立新的连接。但是,conn.isFailed() 仍然为真。

这可能是因为当我重新连接时,我使用的是 conn 而不是 &conn当我在 &conn.connect("localhost"); 中使用 &conn 时,我收到错误消息-

error: lvalue required as unary ‘&’ operand

我该如何解决这个问题?即修改底层连接,以便在建立新连接时 conn.isFailed() 变为 false?

最佳答案

您应该在 mongo::DBClientConnection::DBClientConnection 构造函数中启用 _autoReconnect。
http://api.mongodb.org/cplusplus/current/classmongo_1_1_d_b_client_connection.html#a6a1a348024dd302572504b7bfb6e74a2

方法 isfailed() 返回的变量 _failed 直到调用 _check Connection 才被设置。在将某些内容发送到数据库之前,不会调用 _checkConnection,因此作为替代方案,您可以在调用 _isFailed 之前调用 ping 命令。但是,建议的修复是启用 _autoReconnect。

关于c++ - 如何使用 C++ 驱动程序重新连接到 MongoDB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8800242/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com