Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase实时数据库REST API是否支持在不同实体位置进行多路径更新?_Firebase_Google App Engine_Firebase Realtime Database - Fatal编程技术网

Firebase实时数据库REST API是否支持在不同实体位置进行多路径更新?

Firebase实时数据库REST API是否支持在不同实体位置进行多路径更新?,firebase,google-app-engine,firebase-realtime-database,Firebase,Google App Engine,Firebase Realtime Database,我使用的是Firebase实时数据库的RESTAPI,它来自一个AppEngine标准项目和Java。我能够成功地将数据放在不同的位置,但是我不知道如何确保原子更新到不同的路径。 要将一些数据单独放置在特定位置,我正在执行以下操作: requestFactory.buildPutRequest("dbUrl/path1/17/", new ByteArrayContent("application/json", json1.getBytes())).execute(); requestFact

我使用的是Firebase实时数据库的RESTAPI,它来自一个AppEngine标准项目和Java。我能够成功地将数据放在不同的位置,但是我不知道如何确保原子更新到不同的路径。 要将一些数据单独放置在特定位置,我正在执行以下操作:

requestFactory.buildPutRequest("dbUrl/path1/17/", new ByteArrayContent("application/json", json1.getBytes())).execute();

requestFactory.buildPutRequest("dbUrl/path2/1733455/", new ByteArrayContent("application/json", json2.getBytes())).execute();
现在,为了确保保存a/path1/17/a/path2/1733455/时也能保存,我一直在研究多路径更新和批处理更新(,仅在Cloud Firestore中可用?),但是,我没有发现该功能是否也适用于Firebase实时数据库的REST API,或者仅通过Firebase Admin SDK

该示例显示了如何在“用户”节点下的两个位置执行多路径更新

但是对于路径1和路径2,我没有一个公共的上节点。 尝试将url设置为数据库url,但没有任何节点(),并将节点添加到发送的json对象中,但我得到一个错误:提供了nodename或servname,或者未知

根据这篇博文,我认为使用AdminSDK是可能的:

如果这些原子写入可以通过RESTAPI实现,你有什么想法吗?
谢谢大家!

如果更新要到单个数据库,则总是有一个公共路径

在本例中,您将对数据库的根运行
补丁
命令:

curl -X PATCH -d '{
  "path1/17": json1,
  "path2/1733455": json2
}' 'https://yourdatabase.firebaseio.com/.json'
URL的关键区别似乎在于
/
之前的
.json
。如果不这样做,您将尝试连接到
json
TLD上的一个域,而这个域目前还不存在


请注意,您为批量更新提供的文档链接是针对Cloud Firestore的,它是一个与Firebase实时数据库完全独立的数据库。

有趣的问题。据我所知,这对于所有其他firebase API都是可能的(、、和),谢谢,就是这样,对根数据库的错误引用。
curl -X PATCH -d '{
  "path1/17": json1,
  "path2/1733455": json2
}' 'https://yourdatabase.firebaseio.com/.json'