【问题标题】:Google Cloud Firestore REST API createDocument auto genarates IDGoogle Cloud Firestore REST API createDocument 自动生成 ID
【发布时间】:2018-08-03 03:03:05
【问题描述】:

这是我为在我的 firestore 数据库中创建一个新文档而进行的 REST API 调用

发布https://firestore.googleapis.com/v1beta1/projects/[xxx]/databases/(default)/documents/items

这是我添加到 post 方法主体的有效负载:

{ "name": "projects/[xxx]/databases/(默认)/documents/items/6001156905205​​", “字段”:{ “姓名”: { "stringValue": "Freshpak Rooibos Tea 80Pk" }, “描述”: { "stringValue": "享受一杯 Freshpak Rooibos 你的 No 1 Rooibos 茶。 } }, "createTime": "2018-02-21T14:20:55.753234Z", “更新时间”:“2018-02-21T14:20:55.753234Z” }

我收到以下错误消息:

{ “错误”: { “代码”:400, "message": "document.name 不得设置", “状态”:“INVALID_ARGUMENT” } }

当我从负载中删除“名称”属性时,它会在 firebase 中创建记录,但随后会自动生成文档 ID。我希望 ID 为 6001156905205​​。

我做错了吗?

谢谢 格特

【问题讨论】:

    标签: firebase firebase-realtime-database google-cloud-firestore


    【解决方案1】:

    您需要指定要使用的文档 ID,作为查询参数,详细信息为herecreateTimeupdateTime 仅用于输出,因此它们将由 Cloud Firestore 自动设置。

    HTTP 请求

    POST https://firestore.googleapis.com/v1beta1/projects/[xxx]/databases/(default)/documents/items?documentId=6001156905205
    

    请求正文

    {
      "fields": {
        "Name": {
          "stringValue": "Freshpak Rooibos Tea 80Pk"
        },
        "Description": {
          "stringValue": "Enjoy a cup of Freshpak Rooibos your no 1 Rooibos tea.
        }
      }
    }
    

    【讨论】:

    • 如果失败,您可能需要将您的客户 ID 放在引号中:?documentId="6001156905205"
    • @JasonBerryman 您如何为上述 json 主体创建数据模型?我的 C# 代码将 StringValue、IntValue 创建为类。有没有办法可以将普通 json 转换为 firebase 可接受的集合 json?
    • @KhanXc 我不知道。我对 C# 不熟悉。抱歉,我帮不上忙
    • 很好,它有效。谢谢
    猜你喜欢
    • 2018-12-26
    • 1970-01-01
    • 2020-11-15
    • 1970-01-01
    • 2021-07-10
    • 2020-09-08
    • 2018-10-07
    • 1970-01-01
    • 2021-03-29
    相关资源
    最近更新 更多