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

NestJS集成MikroORM:如何在创建记录后获取ID

关于MikroORM创建记录后返回ID的问题

完全可以返回新创建记录的ID,以下是几种常用实现方式:

  • 通过实体对象获取ID
    先创建实体实例,执行持久化并刷新后,实体对象会自动带上生成的ID:

    // 假设你有User实体类
    const user = em.create(User, { name: "Alice" });
    await em.persistAndFlush(user);
    console.log(user.id); // 直接访问实体的id字段即可拿到新记录ID
    
  • 直接返回ID(nativeInsert方式)
    如果不需要实体对象,可使用nativeInsert方法,它会直接返回新插入记录的主键ID:

    const userId = await em.nativeInsert(User, { name: "Bob" });
    console.log(userId); // 输出新记录的ID
    

注意事项

  • 确保实体类的ID字段已正确配置装饰器,比如SQL数据库用@PrimaryKey(),MongoDB用@ObjectId();
  • 若使用MongoDB,插入后实体的_id或映射后的id字段会自动填充。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 21:02:10