【发布时间】:2015-11-11 16:58:40
【问题描述】:
我在 MongoDB 中为 PHP 应用程序制作了 MySQL 表的“副本”。 我有 id 列,即 PRIMARY KEY。 我应该将它存储在 mongodb 中吗:
['_id' => (string) $id]
或
['_id' => (int) $id]
或
['_id' => new \MongoId($id)]
或
['_id' => new \MongoId, 'id' => $id]
我不打算为 mongodb 使用多台机器,或者仅通过该 ID 进行大量查询。
这里使用字符串、整数或ObjectId有什么区别?
【问题讨论】:
-
您要指定特定的 id吗?如果没有,MongoDB 会在插入时自动为您生成一个 objectID,您无需指定它。
-
@jpaljasma 无论如何我都会存储该 ID。但我应该将它用作 ObjectId 还是从 mongodb 获取 ObjectId。我应该转换为整数还是字符串,这对性能或索引或我还不知道的 mongodb 有影响吗?
-
您不能将 MySQL int 列存储为
MongoId,它们在规范中根本不匹配 -
好的,主要问题。您要插入此集合吗?如果是这样,怎么做?在 MySQl 中,如果预设了
id,那么我认为用它替换_id没有问题
标签: php mysql mongodb types uniqueidentifier