gpt4 book ai didi

java - 用于私有(private)消息的 GAE 数据存储实体

转载 作者:行者123 更新时间:2023-12-01 12:02:06 26 4
gpt4 key购买 nike

我想创建一个 Android 应用程序,其中用户只能通过向 friend 发送私有(private)消息来进行交流。我在我的 GAE 应用程序中使用 java。

更准确地说,如果用户 A 有三个 friend B、C 和 D,我希望他能够选择其中两个(假设 B 和 C)并启动一个 D 看不到的线程。在该线程中,A B 和 C 可以像在论坛中一样以异步方式进行交谈。

问题是:如何使我的实体以最有效的方式满足这些标准?

现在,我认为我需要两个实体:线程和消息。但例如,当 A 将发送数据存储中的线程请求时,我不知道应该在哪里添加对 B 和 C 的引用。如果我将其作为用户列表添加到“收件人”字段中,我认为用户请求他被邀请的所有线程会太长。

我知道我想做的事情非常经典,所以有人可以帮助我吗?

最佳答案

class User(ndb.Model):
pass

class Thread(ndb.Model):
participants = ndb.KeyProperty(kind=User, repeated=True)

class Message(ndb.Model):
thread = ndb.KeyProperty(kind=Thread)
user = ndb.KeyProperty(kind=User)

# user's thread
Thread.query(Thread.participants == user.key).fetch()

# all thread messages
Message.query(Message.thread == thread.key).fetch()

关于java - 用于私有(private)消息的 GAE 数据存储实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27920484/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com