14.39K 浏览2020/09/25开发问题 0 xc16 2020/09/22 0条评论 版本: 4.0.19 设计场景:主从复制集, 分片集群 问题: 高并发情况下,多机器多进程,在mongodb集群写入数据,带有时间字段毫秒级。 数据写入使用的是insert_one,每次都是单条数据。 取数据的时候,如何判定同一毫秒的多条数据的 前后顺序。 在分片集群情况下,ObjectId是在mongos机器上生成的吗? TJ 已回答的问题 2020/09/25 1 答案 活跃已投票最新最老的 1 TJ130 发布 2020/09/25 0 条评论 同一毫秒内,A机器上进程写入A1-A10,10条数据。B机器进程写入B1-B10,一共20条。 A1-A10的顺序可以得到保证(通过_id 排序),B1-B10的顺序可以得到保证。但是An 和 Bn的顺序,无法保证。但是我想不出来什么场景你会有这个需求,如果有的话,你在应用端貌似也没法协调。 ObjectID是驱动生成的(在应用端) TJ 已回答的问题 2020/09/25 注册 或 登录