我正在尝试获取某些集合的所有不同值,我可以通过在shell中执行db.$cmd.findOne({distinct: collection_name, key: some_key})
来获得结果。但是,当我这样做时:
mongo:do(safe, master, DbConn, some_db,
fun() ->
mongo:command(
{
distinct, some_collection,
key, some_key
}
)
end
)
我总是得到一张空白名单。我正在研究Ubuntu 12.04 + MongoDb 2.2.1 + Erlang R15B02。
谢谢!
答案 0 :(得分:0)
找到解决方案。这是bson-erlang的问题,因为符号根据bson规范被弃用。
有关详细信息,请参阅HERE。
答案 1 :(得分:-3)
mongo:do(safe, master, DbConn, some_db,
fun() ->
mongo:command(
{
'distinct'=>'some_collection',
'key'=> 'some_key'
}
)
end
)
我在我的Lithium项目中使用该命令。它给了我结果。
Users::connection()->connection->command(array(
'distinct' => 'users',
'key' => 'status',
));
所以上面的内容对你也有用......