gpt4 book ai didi

mongodb - 在 Erlang 中的 MongoDB 中创建和修改映射

转载 作者:可可西里 更新时间:2023-11-01 10:34:02 40 4
gpt4 key购买 nike

我想在 Erlang 中使用 mongodb 作为 map 。我找不到这样的例子。这是我目前所拥有的:

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}]}

为什么会创建两张 map ?

最佳答案

您在未指定任何 _id 值的情况下对 MongoDB 进行了两次插入,因此最终得到两个文档和一个自动生成的唯一 ObjectId。如果您尝试使用类似于 mapdict 的集合,您应该提供一个 _id 值作为键并使用 repsert (aka upsert) 来如果文档已经存在则更新文档(如果不存在则插入)。

关于mongodb - 在 Erlang 中的 MongoDB 中创建和修改映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13092275/

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