【发布时间】:2017-05-16 08:37:09
【问题描述】:
我在 dynamodb 中有包含以下字段的消息表:
主分区键 => conversation_id
主排序键 => id
其他属性 => message,date_time,sender_id
+------------------+----------+----------------------+------------------------+----------+
| conversation_id | id | message | date_time | sender_id|
+----------------------------------------------------+------------------------+----------+
| p1OS9E | S04Ln | Hi.. how are you..? | 2016-11-30 06:58:11 pm | 11 |
| p1OS9E | JZkSo | Work finished..? | 2016-11-30 06:58:13 pm | 11 |
| p1OS9E | EN9N4 | I am fine. | 2016-11-30 06:58:12 pm | 12 |
| | | | | |
| a0zgOO | jmDdm | In online..? | 2016-12-40 08:43:12 pm | 51 |
| a0zgOO | mAEdY | Yes.. say.. | 2016-12-40 08:43:14 pm | 34 |
| a0zgOO | aWKrp | Come to play.. | 2016-12-40 08:43:12 pm | 51 |
+------------------+----------+----------------------+------------------------+----------+
根据分区键查询项目时,结果返回无序(不按插入顺序)。
排序键id,AttributeType 是`string',随机生成的代码,使主键唯一。
首先我使用date_time 作为排序键,但如果在相同的conversation_id 和相同的date_time 内,将输入一条消息。所以可能会发生数据丢失。
如何按照插入消息的顺序(基于时间)获取我的项目..?
注意:我使用的是 PHP(Codeigniter MVC)。
【问题讨论】:
标签: php codeigniter primary-key amazon-dynamodb