我正在实现代码,以使用其Java API将文档插入到Firestore中。

这行不通

/**
   * Add a document to firestore database with a custom document id
   * @param collectionName the name of the collection
   * @param documentId unique document id
   * @param dataMap
   */
  public void addDocumentWithCustomDocumentId(String collectionName, String documentId, Map<String, Object> dataMap) {

  db.collection(collectionName).document(documentId).set(dataMap);
  //cannot see document inserted on Firestore console on GCP

}


这虽然有效

/**
   * Add a document to firestore database with a custom document id
   * @param collectionName the name of the collection
   * @param documentId unique document id
   * @param dataMap
   */
  public void addDocumentWithCustomDocumentId(String collectionName, String documentId, Map<String, Object> dataMap) {
   ApiFuture<WriteResult> result =
          db.collection(collectionName).document(documentId).set(dataMap);
   result.get().getUpdateTime();
   //can see document inserted on Firestore console on GCP

}




有什么区别?为什么必须调用result.get().getUpdateTime();

最佳答案

您必须在调用上使用.get()才能实际运行它。您只需将代码替换为

db.collection(collectionName).document(documentId).set(dataMap).get()


您可以在此仓库中找到一些示例:https://github.com/GoogleCloudPlatform/java-docs-samples

09-17 08:37