【问题标题】:Fetch all primary keys with Ecto?使用 Ecto 获取所有主键?
【发布时间】:2021-09-22 21:38:22
【问题描述】:

我想从表中获取所有主键,但我不想从数据库中获取任何其他字段。到目前为止,我发现建议使用 Repo.allMap.take,但这显然从数据库中获取了太多信息。

如何从 ecto 架构中的所有条目中获取单个字段?

【问题讨论】:

    标签: elixir ecto


    【解决方案1】:

    Ecto.Query.select/3 是你的朋友。

    from u in User, select: u.id
    

    要检索多个字段,请使用

    from u in User, select: {u.id, u.name}
    

    【讨论】:

    • module.__schema__(:primary_key) 也很有用:)
    • 我认为这个围绕单个值的额外元组可能很烦人。
    • @Hauleth 我考虑了一下并决定它显示了返回 2+ 字段的可扩展性。不过,我可能错了。
    • @AlekseiMatiushkin 为什么没有两个代码 sn-ps?一个回答确切的问题,一个建议很可能延期?
    • @FilipHaglund 请随时编辑我的答案,因为您认为它更合适。
    猜你喜欢
    • 2018-03-01
    • 2020-04-17
    • 2020-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多