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

能否在单个请求中运行多个FaunaDB事务并提交集合与索引创建命令?

Fauna单次请求同时创建集合和索引的解决方案

Fauna不允许在同一个事务内创建集合和依赖该集合的索引,因为事务执行时集合元数据尚未持久化到全局schema中,索引创建会找不到源集合。要在单次请求内完成两个操作,可采用以下两种方案:

  • 方案1:批量提交独立事务
    Fauna官方SDK支持在单次网络请求中传入多个查询语句,每个语句作为独立事务顺序执行,符合高效提交的需求,JS SDK示例代码如下:
    client.query([
      CreateCollection({ name: "users" }),
      CreateIndex({
        name: "users_by_email",
        permissions: { read: "public" },
        source: Collection("users"),
        terms: [{field: ["data", "email"]}],
        unique: true
      })
    ])
    
  • 方案2:SDL schema批量导入
    如果你需要批量初始化多个集合、索引等资源,可以编写Fauna Schema Definition Language (SDL) 配置文件,单次上传即可完成所有资源部署,适合项目初始化阶段使用,示例配置如下:
    collection users {
      index users_by_email {
        terms [.email]
        unique true
        permissions { read: "public" }
      }
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 23:57:03