Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.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 hashmaps需要事务吗_Firebase_Google Cloud Firestore - Fatal编程技术网

Firebase hashmaps需要事务吗

Firebase hashmaps需要事务吗,firebase,google-cloud-firestore,Firebase,Google Cloud Firestore,我在文档中有一个hashmap。假设它看起来像: userHasFinished: { 'user1': false, 'user2': false, 'user3': false, } 如果我正在将此hashmap中的特定字段从false更新为true,并且我知道只有一个用户可以启动对特定字段的写入(这由身份验证保护),那么我是否需要此更新的事务 另一方面,我是否需要一个事务来对hashmap进行并发更新,即使这些并发更新总是针对hashmap中的不同键 我假设不是因为整个Firest

我在文档中有一个hashmap。假设它看起来像:

userHasFinished: {
 'user1': false,
 'user2': false,
 'user3': false,
}
如果我正在将此hashmap中的特定字段从
false
更新为
true
,并且我知道只有一个用户可以启动对特定字段的写入(这由身份验证保护),那么我是否需要此更新的事务

另一方面,我是否需要一个事务来对hashmap进行并发更新,即使这些并发更新总是针对hashmap中的不同键


我假设不是因为整个Firestore文档本质上是一个hashmap,您当然不需要事务来更新文档中的各个字段。

如果您编写的数据依赖于同一文档中的当前数据,则只需要使用事务

用户向地图添加自己的UID不需要文档中的现有数据,因此可以通过合并
set
或更新调用安全(且更高效)地完成,只要您使用
对特定子字段进行寻址。例如:
{“userHasFinished.user1”:false}


另请参阅上的文档,其中包含许多受支持语言的示例代码。

Hey Chris。你在这方面有什么进展吗?我试着在下面给出一个答案。你有机会看看吗?