你好,我想编写一个脚本,使用firebase firestore并将一些JSON写入firestore中的特定集合。我已经在实时数据库中完成了这个操作,但是firestore略有不同。下面是能够正常工作的实时数据库片段:
curl -X POST \
-d '{"param1":"'"$1"'", "param2":"'"$2"'"}' \
https://xxxx.firebaseio.com/xxxx.json?
感谢您的帮助。
你好,我想编写一个脚本,使用firebase firestore并将一些JSON写入firestore中的特定集合。我已经在实时数据库中完成了这个操作,但是firestore略有不同。下面是能够正常工作的实时数据库片段:
curl -X POST \
-d '{"param1":"'"$1"'", "param2":"'"$2"'"}' \
https://xxxx.firebaseio.com/xxxx.json?
阅读了文档后,我得到了这个结果。
curl -X POST \
-H "Content-Type: application/json" \
-d'{
"fields": {
"Field1": {
"stringValue": "'"$var1"'"
},
"Field2": {
"stringValue": "'"$var2"'"
},
"Field3": {
"stringValue": "$var3"
}
}
}'\"https://firestore.googleapis.com/v1beta1/projects/**PROJECT_ID**/databases/(default)/documents/**COLLECTION_ID**?&key=(YOUR API KEY)"
接受的答案对我有帮助,但我花了很长时间才弄清楚如何使用除stringValues之外的数据类型,因此我添加了这个答案,希望将来有人会发现它有用。
curl -X POST \
-H "Content-Type: application/json" \
-d' {
"fields": {
"Field1": {
"arrayValue": {
"values": [{
"mapValue": {
"fields": {
"key1": {
"stringValue": "val1"
},
"key2": {
"stringValue": "val2"
}
}
}
}]
}
},
"Field2": {
"integerValue": <intValue>
},
"Field3": {
"stringValue": "var3"
}
}
}'\"https://firestore.googleapis.com/v1beta1/projects/**PROJECT_ID**/databases/(default)/documents/**COLLECTION_ID**?&key=<YOUR WEB API KEY>"
请参考此链接。
示例字段值
var data = { "fields": { "productName":{"stringValue": dealname.toString()}, "companyname":{"stringValue": companyName.toString()}, "contact":{"stringValue": contact.toString()}, "email":{"stringValue": email.toString()}, "domain":{"stringValue": domain.toString()}, "createdate":{"stringValue": createdate.toString()}, "salesCode":{"stringValue": code.toString()}, "price":{"stringValue": amount.toString()}, "phone":{"stringValue": phone.toString()}, "orderId":{"stringValue": orderId.toString() } } };
更多信息请参见Firestore信息