私は公式のmongodb erlangドライバを試しています。私は医者を読んでいて、まだ理解できないことがあります。誰もがそれを使用するための正しい方法だものを私に伝えることができます願っています:erlang mongodbドライバを使用してdbアクションを作成する正しい方法は何ですか?
私がアクションを行うたびに、次のように、私はちょうど何かを書く:
{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アクションを処理するために接続するよりも良い方法ですか?どのようにconnect_factory
を使用してConn
を稼働させるには?これはmongodbとはあまり関係のない質問です。訪問したときにすべてのユーザーに一意の番号を付けたいと思います。だから私はDBにカウンタを保存しました。ユーザが訪問すると、カウンタは1だけ加算され、ユーザに一意の番号として返されます。しかし、私はいつも2人のユーザーが同時にdbを読むことで同じ数字を得るという心配があります。 mongodbを使ってユニークなカウンタを1ずつ増やすにはどうすればよいですか?
ありがとうございます!