沙发基地每用户数据方法

时间:2015-03-10 05:31:49

标签: couchbase couchbase-lite

找不到在couchbase中为每个用户数据建模的正确方法,并通过couchbase mobile同步用户特定数据时遇到一些麻烦。在couchdb中,每个用户都有一个单独的数据库。在couchbase中最好的方法是什么?

2 个答案:

答案 0 :(得分:1)

在Couchbase中没有“用户数据”这样的东西。它的通用性和开放性适用于您的设计。

通常,当您为Couchbase设计对象域模型时,您将在密钥结构中注入元数据。

例如: 帐户密钥:“ Acc #123456789” - 其中前缀“Acc#”表示密钥的类型,“123456789”添加此密钥的特定地址实例...导致唯一密钥。 同样,如果您想要为帐户编码关联地址,您可以构建以下密钥:“Acc#123456789# Addr ” - 其中postfix“#Addr”标识地址对象的密钥类型< / p>

现在,如果您想拥有用户特定的密钥,您只需将用户标识符注入密钥值(来自上面的示例):

  • 键“Acc#123456789”将转换为“ usr#12345 #Acc#123456789”
  • 键“Acc#123456789#Addr”将转换为“ usr#12345 #Acc#123456789#Addr”

详细了解Couchbase数据建模herekeys and metadata

答案 1 :(得分:1)

您可以通过这种方式创建文档,以便轻松检索所有相关实体。例如

  1. 使用user_{Guid}Guid视为您的用户ID
  2. 来创建您的文档
  3. 使用与Guid相同的credential_{Guid}制作所有其他相关文档,因此当用户登录时,我们可以在会话中使用userID并获取该用户的所有信息。