如何在Python和Firebase中使用requests添加数据而不是替换数据
我正在使用 requests
模块来获取和设置 Firebase 中的数据。假设我有一个现成的 Firebase,地址是 http://mytest.firebaseio.com,它的内容看起来是这样的:
|somewhere
|--test1
|--exists: 1
我想在这个数据中添加一些内容,让它变成:
|somewhere
|--test1
|--exists: 1
|--arrived: 1
我的直觉是使用 put()
方法,比如:
r = requests.put('http://mytest.firebaseio.com/test1.json',data='{"arrived":1}')
但是这样做会导致 覆盖 原本的 exists: 1
,同时添加 arrived: 1
,结果变成:
|somewhere
|--test1
|--arrived: 1
我该如何在不覆盖 exists: 1
的情况下添加 arrived: 1
呢?
1 个回答
3
来自文档:
你可以通过PATCH请求来更新某个位置的特定子项,而不会覆盖已有的数据。使用PATCH写入的数据中指定的子项会被更新,但没有提到的子项不会被删除。这和update()函数的效果是一样的。
所以你应该使用requests.patch()
,而不是requests.put()
。