在Mongo / mongoid中如何为顺序文档提供数字ID?

时间:2014-12-03 16:02:58

标签: ruby mongodb mongoid atomic acid

我有两个系列:

分类

帖子

帖子中的每个文档都属于1个类别(在mongoid中,我有一个has_many:类别中的帖子)

我想要做的是在名为post_count的类别中有一个变量,我还想给每个帖子一个[1 ... post_count]的数字,这样如果一个帖子的数字是3,我知道它是第3个帖子在某些类别中制作。在MySQL中,这将非常简单,但在mongo中,我恐怕最终会出现重复的帖子号码和无效的post_count,因为它不是ACID。

我了解到对于post_count我可以做这个categoryObject.inc(:post_count,1),而我认为这将永远是原子的,永远不会错,但是之后 em>这样做,我是否可以安全地分配postObject.number = categoryObject.post_count?

我需要它才能工作,即使很多人正在向服务器请求同时创建一个帖子到同一类别,post_count仍然是正确的,帖子的号码也总是正确的。 / p>

0 个答案:

没有答案