php - 从 MySQL 迁移到 MongoDB - 自增字段

标签 php mysql mongodb mongoid

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

{ $inc : { field : value } }

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

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

最佳答案

$inc 是一个 atomic modifier ,所以是的,这会起作用。确保使用 findAndModify,以便查找和修改是一个单一的操作。

问题是 $inc 递增给定文档(行)的值,这意味着您需要使用一个计数器集合,并对那个计数器应用操作,然后插入实际的文档。我猜你知道这一点,但觉得有必要指出来避免让没有读过 the docs on auto-incrementing fields 的读者感到困惑。 .

关于php - 从 MySQL 迁移到 MongoDB - 自增字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8473555/

相关文章:

php - 使用 Google Sheets Api 更新单元格值

php - 如何在 codeigniter 中编写这个复杂的查询?

php - 在 laravel 的数据库中播种时出错

javascript - Mongoose 更新嵌套值

java - 与 MongoDB 和 Java 8 一起使用的 Play-Framework 2.4.x

php - 使用 DOM PHP 网络爬虫从外部站点选择性提取数据

sql - 复杂的 MySQL 定时器

MySQL 在使用 IN(SUBQUERY) 时忽略索引?

c# - Mongo.net - BypassDocumentValidation 不工作

php - 如何在PHP中获取 sphinx 连接失败错误