【发布时间】:2021-02-20 19:53:00
【问题描述】:
我在应用引擎上部署了spring boot服务,显示连接firebase成功,但无法获取任何结果。当我在本地运行它时,一切正常。这就是应用程序连接到 fireStore 的方式。我在 GOOGLE_APPLICATION_CREDENTIALS 环境变量中设置 serviceAccounts.json
FirestoreOptions firestoreOptions =
FirestoreOptions.getDefaultInstance().toBuilder()
.setProjectId(PROJECT_ID)
.setCredentials(GoogleCredentials.getApplicationDefault())
.build();
在Service bean中,fireStore实例被初始化为
public static Firestore dbFireStore = FirestoreOptions.getDefaultInstance().getService();
我正在获取这样的数据
CollectionReference collectionReference = dbFireStore.collection("Collection_Name")
.document("Document_Name")
.collection("SubCollection_Name");
ApiFuture<QuerySnapshot> querySnapshot = collectionReference.whereEqualTo("Search_Field", "Search_Value").get();
List<QueryDocumentSnapshot> queryDocumentSnapshot = querySnapshot.get().getDocuments();
此处返回的列表为空,但预期大小为 1,并且在本地工作正常。
【问题讨论】:
-
您是否仔细检查了 project_ID 是否相同?您可以记录此命令并比较结果吗?
((ServiceAccountCredentials)GoogleCredentials.getApplicationDefault()).getProjectId() -
谢谢@guillaumeblaquiere 这工作,实际上我正在尝试连接到其他数据库,我认为连接已经建立,现在我正在使用同一个项目,现在一切正常
标签: spring-boot google-app-engine google-cloud-platform google-cloud-firestore