1. {ok,P}= mongoc:connect({rs, <<"dev_mongodb">>, [ "dev_mongodb001:27017", "dev_mongodb002:27017"]}, [{name, mongopool}, {register, mongotopology}, { rp_mode, primary},{ rp_tags, [{tag,1}]}], [{login, <<"root">>}, {password, <<"mongoadmin">>}, {database, <<"admin">>}]).
2. {ok, Pool} = mc_topology:get_pool(P, []).
3. mongoc:find(Pool, {<<"DoctorLBS">>, <<"mongoMessage">>}, #{<<"type">> => <<"5">>}).
看来我的选择器无效,有没有关于如何使用mongodb-erlang的例子?
我的mongodb版本是3.2.6,auth类型是SCRAM-SHA1。
mongoc:find(Pool, <<"mongoMessage">>, #{<<"type">> => <<"5">>}).
我在rs和单模式下尝试过这个,但仍然遇到了这个错误。 有没有其他简单的连接和阅读方式? 我只需要在我的erlang程序启动时从mongo读取一些数据,没有其他操作。
答案 0 :(得分:0)
由于mongo 2.6中引入了新的查询api,今天的mongo版本不支持tuple colldb
您应该连接到DoctorLBS
数据库,而不是使用
mongoc:find(Pool, <<"mongoMessage">>, #{<<"type">> => <<"5">>}).