在查询要更新的文档后,我试图弄清楚如何更新文档。这是我想出的代码:
Firestore.instance.collection("Social_Posts").where(data["postTitle"], isEqualTo: "postTitle").where(data["postContent"], isEqualTo: "postContent")
.snapshots()
.listen((event) {print("hh");});
每当执行此查询以查找正确的文档时,我都想通过在其上添加数字来更新该文档。
答案 0 :(得分:2)
可以从内部更新文档。最简单的方法肯定是使用documentID并增加值Firestore具有特殊属性 FieldValue.increment(1)< / strong> 。使用此功能,您可以轻松地增加字段。
假设您要在文档中增加1的字段是“ numberField”。
使用异步/等待样式的更新代码:
$("#fileupload" + id_var).fileupload({
numberField将增加,而无需进行额外的调用来知道当前值。
编辑:您在 .where()方法
中犯了一个错误答案 1 :(得分:1)
您可以通过使用event.documents[0].documentID
(假设您的查询仅返回一个文档),然后使用Firestore.instance.collection("Social_Posts")
.where(data["postTitle"], isEqualTo: "postTitle")
.where(data["postContent"], isEqualTo: "postContent")
.snapshots()
.listen((event) {
Firestore.instance
.collection("Social_Posts")
.document(
event.documents[0].documentID)
.updateData(
updateEvent) //Add here the new object you want to
.whenComplete(() {
// You can add your desire action after the row is updated
}
});
来使用从侦听函数内部获取的文档ID,然后从Firestone包调用updateData方法。 / p>
您的代码可能如下所示:
python3 mo_onnx.py --input_model SSD_nms.onnx --input inputs,top_k_per_class,nms_iou,nms_score --input_shape [1,3,224,224],[1],[1],[1]
您可以查看包裹页面以获取更多信息,https://pub.dev/packages/cloud_firestore
如果您想查看有关如何执行CRUD功能的示例,则可以检查以下存储库:https://github.com/sayed3li97/flutter_firestore_crud