2

Erlangのマップとしてmongodbを使いたいです。この例は見つかりません。これは私がこれまでに持っているものです:

application:start(mongodb).
Host = {localhost, 27017}.
{ok, Conn} = mongo:connect(Host).

mongo:do(safe, master, Conn, test, fun() ->
    mongo:delete(foo, {}),                 
    mongo:insert(foo, {x,1}),
    mongo:insert(foo, {a,12}),
    Pid = mongo:find(foo, {a}),    
    Result = mongo_cursor:rest(Pid),                
    mongo_cursor:close(Pid),
    Result end).

結果:

{ok,[{'_id',{<<80,138,211,178,41,152,132,104,251,0,0,35>>},
            x,1},
     {'_id',{<<80,138,211,178,41,152,132,104,251,0,0,36>>},
            a,12}]}

なぜ2つのマップを作成するのですか?

4

2 に答える 2

1

mongoはマップではありませんマップのリストですマップ自体を変更する方法はありません

于 2012-10-26T18:35:37.937 に答える
1

値を指定せずにMongoDBに2つの挿入を行っている_idため、2つのドキュメントと自動生成された一意のObjectIdになります。mapまたはに類似したコレクションを使用しようとしている場合は、キーとして値を指定し、ドキュメントが既に存在する場合はそれを更新する(または存在しない場合は挿入する)ために使用dictする必要があります(アップサートとも呼ばれます)。_idrepsert

于 2012-11-03T12:52:18.330 に答える