有没有办法保证MongoDB的唯一(自动增量整数)字段?我知道你可以这样做:
{ $inc : { field : value } }
但如果两个查询同时出现怎么办? MySQL会插入一个,然后是另一个,两个整数都是唯一的,但我实际上并不知道Mongo是否这样做。
只是为了澄清,我知道这不是理想的方法,但它是一个临时实现,直到数据完成从MySQL迁移(用户启动)。
答案 0 :(得分:3)
$inc
是atomic modifier,所以是的,这会有效。确保使用findAndModify
,因此查找和修改只需一次操作。
问题是$inc
递增给定文档(行)的值,这意味着您需要使用计数器集合,并在该计数器上应用操作,然后插入实际文档。我想你知道这一点,但觉得有必要指出它,以免给那些没有读过the docs on auto-incrementing fields的读者造成混淆。