论坛首页 综合技术论坛

erlang connect to mongodb

浏览 5490 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (4) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-03-03   最后修改:2011-03-03

 

erlang connect to mongodb

安装好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源码,呵呵

上面是看了那个官方文档翻译的。

论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics