Mongo在凤凰城找到了id

时间:2015-12-17 12:05:05

标签: phoenix-framework

当尝试通过id找到时,我不会使用Phoenix附带的mongodb驱动程序获得结果。

mongodb软件包中的自述文件包含以下示例

Mongo.find(MongoPool, "test-collection", %{}, limit: 20)
Mongo.find(MongoPool, "test-collection", %{"field" => %{"$gt" => 0}}, limit: 20, sort: %{"field" => 1})

但是当我尝试以下内容时,我不会得到任何结果。

cursor = Mongo.find(AppName.Repo.Pool, "test-collection", %{"_id" => "1df66b12302b812298308dba"})
Enum.to_list(cursor) 

获取[]空列表。

我是否需要先将id转换为某些内容?

我不想一直使用Ecto。

1 个答案:

答案 0 :(得分:1)

我想出了以下用于将字符串mongo文档id转换为可以插入mongodb _id参数的代码

def objectid(id) do
    {_, idbin} = Base.decode16(id, case: :mixed)
    %BSON.ObjectId{value: idbin}
end