我们有2个索引:
对话-包含参与者的详细信息,最新消息等
{“ _id”:123,
“ last_message”:“嗨”,
“ from_phone”:“ +919899988888”
“ to_phone”:“ + 919899988889”
...... }
ConversationDetails-为给定参与者发送/接收的消息列表
[{
"conv_id":123,
"message":"Hi",
"channel": "SMS"
"comm_dir":"SENT"
"created": 1592992160480
......
},
{
"conv_id":123,
"message":"Hi",
"channel": "SMS"
"comm_dir":"RECEIVED"
"created": 1592992160480
......
},
]
我们需要在每个会话文档中都有一个字段“ lastReceivedMessageSource”,该字段是从给定会话的“会话详细信息”文档派生的。
我们需要为数百万次对话迁移这些数据。最快的方法是什么?
我的方法:是在会话文档中获取“ n”个会话和bulk_upsert的值。
注意:
E.S版本: 5.6