一 安装好mongodb,然后启动(具本不介绍了)
二 下载erlang connect to mongodb driver, and bson driver(输助包,定义文档类型和二进制实现)
三 解压 erlc -o ebin -I include src/*.erl
erlc -o ebin -I include -I .. src/*.erl
四 添加到erlang运行环境
erl -pa bson/ebin mongodb/ebin
五 开始服务
application:start (mongodb).
六 建立连接
{ok, Conn} = mongo:connect ({localhost, 27017}).%% 27017 is the default port of mongodb
七开始进行相关操作
mongo:do (safe, master, Conn, test, fun() ->
mongo:delete (foo, {}),
mongo:insert (foo, {x,1, y,2}),
mongo:find (foo, {x,1}) end).
首先解释一下上面那此变量的意义
1 safe:写模式,save(safe, GetLastErrorParams})要求每次操作之后需要确认服务器返回正确,如果服务器返回失败则会终止接下来的操作,并报错,与之相关的是unsave它不需要每一次操作都确认服务器有误,这种模式下相对save没延时,但是不安全
2 master: slave_ok:读模式:如果是master表示只能从主数据库读取数据,否则会报错,但是如果是slave_ok,表示主从数据库都OK
3 Conn:这个自然是我们的连接了(由步骤六获得)
4 test:mongodb中的数据库名称
5 foo 集合名称
八,讲解一下怎么获取查询后的结果
mongo:do (safe, master, Conn, test, fun() ->mongo:find(foo,{name:dxm}) end).
lang connect to mongodb driver, and bson driver
返回{ok,Cursor}|…
然后可以用mongo:next(Cursor),mongo:rest(Cursor),mongo: close_cursor(Cursor)分别获取下一个结果,剩下所有结果,关闭游标
其它就不多说了,大家可以自己看 mongo.erl源码,呵呵
上面是看了那个官方文档翻译的。