0

我正在尝试通过 PHP 使用个性化 ID 在 MongoDB 上创建新对象,如下所示:

    $user = Array(
        '_id'  => "$id",
        'name' => $name,
    );

这样做的问题是,当我查询 ID 时,我需要使用以下内容:

$query = Array( '_id' => "$id" );

而不是更合适的

$query = Array( '_id' => new MongoId("$id") );

强迫我改变所有的查询。我认为我通过修复插入来做到这一点,通过放置 '_id' => new MongoId("$id") 但是,如果我使用它,它只会创建默认的 mongodb id,而不是我的个性化 ID。

我怎样才能解决这个问题?

提前致谢

4

1 回答 1

0

我对您在这里要求的确切内容感到有些困惑,但是,我相信我可能会理解。

如果您使用_id的默认值ObjectId与 MongoDB 用于行的主键的默认值不同,那么您不应使用ObjectId或实际上MongoId创建该对象。

您应该只在使用提供MongoId的默认值时使用_id,如果您使用自己的ObjectId( MongoId) 将无法按预期运行。

所以这里的答案是停止使用MongoId.

于 2013-03-03T21:07:05.640 回答