gpt4 book ai didi

java - Firestore set() 方法不会将文档插入集合中,除非调用 ApiFuture 的 get() 方法

转载 作者:行者123 更新时间:2023-12-01 17:40:04 25 4
gpt4 key购买 nike

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

关于java - Firestore set() 方法不会将文档插入集合中,除非调用 ApiFuture<WriteResult> 的 get() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60968336/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com