在我的应用程序中,用户有朋友。用户可以发送发送请求并确认好友(由 status 属性标记)并可以删除好友。一个用户只能有 X 个朋友和 X 个待处理的朋友。为了存储它,我有一个不存在的 Kind ,然后有一个名为 Friends 的子实体。看起来像这样:
朋友们
-Key((NonExistantKindParent,my_username), friends_username)
-status
-created_date
密钥包含一个确实存在的祖先,id 是用户的用户名。子实体将是该用户的所有朋友。因此,每个友谊将被存储两次,一次用于friend1,一次用于friend2。它们位于实体组中,因此它们可以保持高度一致并且我可以执行事务(例如,如果用户添加了一个朋友,它需要写给请求友谊的用户和被请求的朋友)。我需要更多操作,但我正在尝试了解如何执行以下操作,然后我可以将这些知识应用于我需要的其他操作:
在创建日期之前获取所有用户的朋友订单(只需要朋友的用户名)。
获取用户所有已确认的好友(状态 = '已确认')。
在以下位置阅读文档:https : //googlecloudplatform.github.io/gcloud-node/#/docs/v0.30.3/datastore/query?method=select 我很困惑如何查询实体组。对于其中的几个查询,我需要应用一个属性过滤器和一个祖先过滤器,它看起来像但不确定如何?如果我只需要查询一个非实体组,则文档非常有用。