我在erlang和mongodb上写了一些例子。作为mongodb的驱动程序,我使用emongo。问题是如果我在一个模块中建立连接,我就不能在不同的模块中重用这个连接。在C / C ++或其他客观语言中,我可以制作单例并使用它。如何在erlang中重用开放连接? 感谢。
答案 0 :(得分:1)
您应该能够从应用程序的任何部分重用池ID。
在模块A中:
emongo:insert(test, SomeCollection, Document).
在模块B中:
emongo:insert(test, AnotherCollection, AnotherDocument).
只要您继续使用相同的ID(在本例中为test
),或者通过将其硬编码到不同的模块中或通过在消息中发送它,您应该能够使用任何库部分申请。