gpt4 book ai didi

email - MongoDB多步事务问题

转载 作者:可可西里 更新时间:2023-11-01 10:01:33 24 4
gpt4 key购买 nike

如果我们需要更新客户文档并在同一事务中发送电子邮件,确保自动完成此操作的最佳方法是什么?我们正在构建一个 ecomm 网站,我们需要此功能,因为当客户购买商品时,我们必须更新他们的订单历史记录并向他们发送电子邮件确认。在使用 RDBMS 数据库的 Java 中,我们可以通过简单地更新数据库并发送包含电子邮件内容和详细信息的 JMS 消息来轻松完成此操作; JDBC 和 JMS 都支持分布式事务,因此如果出现问题都可以回滚,但 MongoDB 则不然。 Mongo 中有消息传递功能吗?

我们考虑在 Customer 的 orderHistory 嵌入文档中使用标志“emailSentFlag”。下订单时,标志设置为 false。然后,我们将使用一个外部作业来扫描所有订单历史记录,其中 emailSentFlag="false"并在此时发送电子邮件,但这使我们回到相同的情况,因为我们必须在发送后将标志设置回“true”电子邮件,这不是原子的。

> customer {
> name:
> email:
> orderHistory{
> orderId:
> status:
> emailSentFlag:

最佳答案

正如其他人所说,Mongo 中没有交易。

我建议您建立一个邮件队列而不是设置一个标志然后搜索整个集合。我宁愿在邮件队列中放入一个条目,然后使用外部作业处理该队列。

至少我首先会尝试这样做。任何人,有什么好的或坏的评论吗?

关于email - MongoDB多步事务问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6711511/

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