1

我正在尝试获取某个集合的所有不同值,我可以通过db.$cmd.findOne({distinct: collection_name, key: some_key})在 shell 中执行来获得结果。但是,当我这样做时:

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。

谢谢!

4

2 回答 2

0

找到了解决方案。这是 bson-erlang 的问题,因为根据 bson 规范不推荐使用符号。

请参阅此处了解更多信息。

于 2012-11-22T02:29:04.620 回答
-3
mongo:do(safe, master, DbConn, some_db,
  fun() ->
    mongo:command(
    {
     'distinct'=>'some_collection',
     'key'=> 'some_key'
   }
  )
end
)

我在我的锂项目中使用该命令。它给了我结果。

Users::connection()->connection->command(array(
    'distinct' => 'users',
    'key' => 'status',
));

所以上面的内容也应该为你工作......

于 2012-11-16T19:10:20.163 回答