如何选择在发送的订单中两个用户之间发送的所有邮件?

问题描述 投票:0回答:1

如何选择在发送的订单中两个用户之间发送的所有邮件?这是风景。

用户A:你好用户B:嗨,那里。用户A:你好吗?

这是我用来在两个用户之间选择消息的代码。

    Tab    = #pms{from='$1',to='$2',_='_'},
    Guard  = [{'xor',{'=:=',['$1','$2'],[MyId,Recepient]},{'=:=',['$1','$2'],[Recepient,MyId]}}],
    Result = ['$_'],
    mnesia:select(pms,[{Tab,Guard,Result}])

结果是这样的:

答:您好, A:你好吗? B:嗨,那里。

消息的顺序混乱了。表类型o是有序集

erlang mnesia
1个回答
1
投票

您需要在表中添加时间戳。 ordered_set表按期限排序。来自http://erlang.org/doc/man/ets.html1

The ordered_set works on the Erlang term order...

1. Mnesia建立在ETS / DETS之上,因此继承了它的许多功能。

© www.soinside.com 2019 - 2024. All rights reserved.