我正在实现代码,以使用其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