Firebase为其guide中的交易提供了以下示例:
function toggleStar(postRef, uid) {
postRef.transaction(function(post) {
if (post) {
if (post.stars && post.stars[uid]) {
post.starCount--;
post.stars[uid] = null;
} else {
post.starCount++;
if (!post.stars) {
post.stars = {};
}
post.stars[uid] = true;
}
}
return post;
});
}
所以对象结构看起来像这样:
posts
- postID
- starCount: Int
- stars
- uid : Bool
我想知道当对象结构看起来像这样时我是否仍然可以执行事务:
posts
- postID
- starCount: Int
postStars
- postID
- uid : Bool
因此,在加载数据以显示帖子时,没有必要加载已查看帖子的用户的所有用户ID。