【问题标题】:How to manually add a document to a collection in Firestore database?如何手动将文档添加到 Firestore 数据库中的集合?
【发布时间】:2019-05-14 13:01:02
【问题描述】:

我在 Firestore 中有一个非常简单的数据库(地理名称、纬度和经度)。数据库是非常静态的,我只需要偶尔添加或删除一条记录(文档)。 如何手动将记录添加到集合中,与其他文档具有相同的字段?当我按下“添加文档”时,控制台会要求我输入每个字段(见屏幕截图)。

【问题讨论】:

  • 您是否尝试过手动添加它们,每个属性,一个一个?
  • 文档存储并不像 SQL 那样真正具有“相同字段”的概念。我怀疑 Firestore 是否提供了这种开箱即用的功能。
  • 您可以非常快速地开发一个 HTML 表单来执行此操作,使用 Firebase 可以在 5 到 10 分钟内完成此开发,具体取决于字段的数量。
  • @RenaudTarnec:任何帮助链接?
  • @FabioMarzocca 查看答案

标签: firebase google-cloud-firestore firebase-console


【解决方案1】:

以下 HTML 页面将允许您写入您的 spots Firestore 集合。

当然,您需要调整字段以及 Firebase 配置。

如果您想进行身份验证,只需添加两个额外的字段,例如用户名和密码,并使用signInWithEmailAndPassword() 方法。 (如果你愿意,我可以调整页面)。

您可以在 Firebase 托管中托管此页面,例如,利用 SSL 证书。或者您可以简单地将其保存在您的计算机上,然后使用浏览器打开它(在这种情况下不是 HTTPS,而是一种很好的测试方式)。

<!DOCTYPE html>
<html>
  <head>
    <title>Firebase Form</title>

    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
    <!-- Firebase App (the core Firebase SDK) is always required and must be listed first -->
    <script src="https://www.gstatic.com/firebasejs/6.0.2/firebase-app.js"></script>

    <!-- Add Firebase products that you want to use -->
    <script src="https://www.gstatic.com/firebasejs/6.0.2/firebase-firestore.js"></script>
    <script src="https://www.gstatic.com/firebasejs/6.0.2/firebase-auth.js"></script>
  </head>

  <body>
    <div>
      <p>Name:</p>

      <input type="text" placeholder="Name" id="name" />

      <p>City:</p>

      <input type="text" placeholder="City" id="city" />

      <br /><br />
      <input type="submit" value="submit" class="submit" id="submit" />
    </div>

    <script>
      $(document).ready(function() {
        // Initialize Firebase
        var config = {
          apiKey: 'xxxxxxxxxxxxx',
          authDomain: 'xxxxxxxxxxxxx',
          databaseURL: 'xxxxxxxxxxxxx',
          projectId: 'xxxxxxxxxxxxx'
        };

        firebase.initializeApp(config);

        var database = firebase.firestore();

        $('#submit').on('click', function() {
          var nameValue = $('#name').val();
          var cityValue = $('#city').val();

          var dataObject = {
            name: nameValue,
            city: cityValue
          };

          database.collection('spots').add(dataObject);
        });
      });
    </script>
  </body>
</html>

【讨论】:

  • 如果有人来这里也是像我一样的firebase新手,那么请确保选择Cloud Firestore而不是实时数据库,这个html文件成功地在 Cloud Firestore 中创建了一个集合,然后在那里记录
【解决方案2】:

你不能,你必须编写或使用工具来做到这一点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-05
    • 2019-06-04
    • 1970-01-01
    • 2021-01-18
    • 2021-06-04
    • 2018-05-10
    • 2018-07-30
    • 1970-01-01
    相关资源
    最近更新 更多