Realm Database Full Sync——如何实现全局评论系统
Realm Database Full Sync - How to implement a global comment system
我需要实现一个共享的全球领域,用户可以在其中写入新记录并删除他们以前的记录,但不能删除其他用户的记录。
例如评论系统。
我使用基于查询的同步通过对象权限实现了它,但我无法理解如何通过完全同步轻松实现它。
有人做过吗?你是如何做到的?谢谢。
只要每个用户都有自己的领域,您就可以获得相同的功能。可以向其他用户提供完全同步领域的权限,以允许他们read/write 访问用户领域。
您需要将您的全球领域分解为单独的领域,但这是一种选择。
如果您将所有用户数据存储在一个全球领域。这将更具挑战性,因为您无法精细控制其他用户的行为。
但是,您可以在应用程序中实施控制谁 can/cannot 使用对象的逻辑。因此,例如,一个 ToDo 对象可以有一个“created_by_user_id” 属性
class ToDoClass: Object {
@obc dynamic var to_do_id = ""
@obc dynamic var created_by_uid = ""
override static func primaryKey() -> String? {
return "to_do_id"
}
}
并使用应用程序逻辑,当另一个用户删除该用户 ToDo 时,它可以将 created_by_uid 属性 与当前用户 ID 进行比较,以查看它们是否匹配。如果不是,则不允许删除。
我正在考虑使用节点 js 服务器,当用户数据库中发生某些事情时更新全局数据库。
它是这样工作的(经过测试,我需要了解它是如何缩放的。
我为用户数据库使用了一个侦听器,这样用户就可以离线在他们的数据库中插入行,当他们重新联机时,节点 js 服务器可以将数据复制到全局数据库中)。因此,在客户端上,我将在 类 上有一个 属性 同步状态(本地、已同步、已删除),我需要离线。
我需要实现一个共享的全球领域,用户可以在其中写入新记录并删除他们以前的记录,但不能删除其他用户的记录。
例如评论系统。
我使用基于查询的同步通过对象权限实现了它,但我无法理解如何通过完全同步轻松实现它。
有人做过吗?你是如何做到的?谢谢。
只要每个用户都有自己的领域,您就可以获得相同的功能。可以向其他用户提供完全同步领域的权限,以允许他们read/write 访问用户领域。
您需要将您的全球领域分解为单独的领域,但这是一种选择。
如果您将所有用户数据存储在一个全球领域。这将更具挑战性,因为您无法精细控制其他用户的行为。
但是,您可以在应用程序中实施控制谁 can/cannot 使用对象的逻辑。因此,例如,一个 ToDo 对象可以有一个“created_by_user_id” 属性
class ToDoClass: Object {
@obc dynamic var to_do_id = ""
@obc dynamic var created_by_uid = ""
override static func primaryKey() -> String? {
return "to_do_id"
}
}
并使用应用程序逻辑,当另一个用户删除该用户 ToDo 时,它可以将 created_by_uid 属性 与当前用户 ID 进行比较,以查看它们是否匹配。如果不是,则不允许删除。
我正在考虑使用节点 js 服务器,当用户数据库中发生某些事情时更新全局数据库。
它是这样工作的(经过测试,我需要了解它是如何缩放的。
我为用户数据库使用了一个侦听器,这样用户就可以离线在他们的数据库中插入行,当他们重新联机时,节点 js 服务器可以将数据复制到全局数据库中)。因此,在客户端上,我将在 类 上有一个 属性 同步状态(本地、已同步、已删除),我需要离线。