从MySQL迁移到MongoDB - 自动增量字段

时间:2011-12-12 11:25:27

标签: php mysql mongodb mongoid

有没有办法保证MongoDB的唯一(自动增量整数)字段?我知道你可以这样做:

{ $inc : { field : value } }

但如果两个查询同时出现怎么办? MySQL会插入一个,然后是另一个,两个整数都是唯一的,但我实际上并不知道Mongo是否这样做。

只是为了澄清,我知道这不是理想的方法,但它是一个临时实现,直到数据完成从MySQL迁移(用户启动)。

1 个答案:

答案 0 :(得分:3)

$incatomic modifier,所以是的,这会有效。确保使用findAndModify,因此查找和修改只需一次操作。

问题是$inc递增给定文档(行)的值,这意味着您需要使用计数器集合,并在该计数器上应用操作,然后插入实际文档。我想你知道这一点,但觉得有必要指出它,以免给那些没有读过the docs on auto-incrementing fields的读者造成混淆。