簡體   English   中英

用於檢索公共和私人聊天消息的 DynamoDB 單一查詢

[英]DynamoDB single query to retrieve both public and private chat messages

在選擇 DynamoDB 分區鍵和排序鍵以檢索聊天中的所有公共和私人消息時需要一些建議。

在同一個聊天室中,用戶可以向特定的人發送公共消息和私人消息。

DynamoDB model:

For public messages: hashkey - chatId; sortKey - timestamp
For private messages: hashkey - chatId; sortKey - userId#timestamp

我在選擇將在單個查詢中返回這兩種類型的消息的主鍵時遇到困難。

在我的腦海中,我在想你的排序鍵中需要一些東西,這樣你就可以使用 Begins_with 並獲取所有消息。 所以像 mssg::public::userID::timestamp 或 mssg::private::timestamp 這樣的東西。

然后您可以使用 chatId 作為分區鍵進行查詢,然后在排序鍵上使用 begin_with mssg。 這將獲取該 chatID 的所有消息,無論它們是公共的還是私有的。 下一個問題是你在用時間戳做什么,你需要在同一個查詢中做些什么嗎? 您在帖子中沒有提到它,但它在 model 示例中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM