You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ember JS中store.find与store.findRecord函数是否存在差异?

Ember Data中store.find与store.findRecord的差异说明

这两个函数不是单纯的别名关系,存在功能边界的差异,但你给出的「传入类型+单个ID」的查询场景下表现一致,具体细节如下:

  • 函数定位与场景区分

    • findRecord是Ember Data 2.0及之后官方主推的单资源查询专用API,语义明确,仅用于根据模型类型和ID获取单个记录,返回值为单个记录对象(或其Promise)。
    • find是旧版的通用查询API,功能覆盖更广:
      • 当调用this.store.find('rental', params.rental_id)时,内部会直接调用findRecord,所以和你示例中的用法效果完全一致;
      • 当调用this.store.find('rental', { city: 'Beijing' })这类「类型+查询参数」的形式时,它会执行多资源查询,等效于后来的query API。
  • 官方支持状态
    find属于已废弃的旧API,Ember Data的后续迭代中可能会移除该方法,官方建议使用语义更清晰的专用API替代:单记录查询用findRecord,多记录或条件查询用query/queryRecord。

内容的提问来源于stack exchange,提问作者Chiara Ani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 09:35:22