Firebase实时数据库REST API是否支持在不同实体位置进行多路径更新?
我使用的是Firebase实时数据库的RESTAPI,它来自一个AppEngine标准项目和Java。我能够成功地将数据放在不同的位置,但是我不知道如何确保原子更新到不同的路径。 要将一些数据单独放置在特定位置,我正在执行以下操作: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
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'