공식 mongodb erlang 드라이버를 사용하고 있습니다. 나는 의사를 읽었고 아직도 이해할 수없는 어떤 것이있다. 다음과 같이db 액션을 만들기 위해 erlang mongodb 드라이버를 사용하는 올바른 방법은 무엇입니까?
내가 작업을 할 때마다, 난 그냥 뭔가를 쓰기 :
{ok, Conn} = mongo:connect ({localhost, 27017}).
mongo:do (safe, master, Conn, test, fun() ->
mongo:save (foo, {'_id', 1, bbb,22, y,2}),
mongo:save (foo, {'_id', 4, bbb,22, y,2}) end).
mongo:disconnect().
이 올바른 방법인가 누군가가 그것을 사용하는 올바른 방법이 무엇을 말해 줄 수 있기를 바랍니다? DB 작업을 마칠 때마다
Conn
이 사망 한 것처럼 보입니다. 또는 다음 번에 다시 사용하려면 연결을 끊지 말고Conn
을 유지해야합니까?Conn
을 유지하는 전역 변수가 없기 때문에 내가 생각할 수있는 유일한 방법은gen_server
같은 것을 사용하고Conn
을 재사용을 위해 유지하는 것입니다. 이것이 올바른 방법일까요?또한
connect_factory
메서드가 있습니다. 그러나 나는 그것을 다루는 적절한 방법을 이해할 수 없다.connect_factory
은 많은 양의 DB 작업을 처리하기 위해 연결하는 것보다 나은 방법입니까? 그리고 을 사용하여 실행할 수있는 방법을 얻으려면Conn
?이것은 mongodb와 관련이없는 질문입니다. 모든 사용자에게 방문 할 때 고유 번호를 부여하려고합니다. 그래서 DB에 카운터를 저장했습니다. 사용자가 방문하면 카운터에 1이 더해져 고유 번호로 사용자에게 반환됩니다. 그러나 나는 항상 두 명의 사용자가 동시에 db를 읽음으로써 동일한 숫자를 얻는다는 우려를 가지고 있습니다. mongodb를 사용하여 고유 한 카운터를 1 씩 증가 시키려면 어떻게합니까?
대단히 감사합니다.