使用php创建新的MongoId对象


new MongoId objects with php

我试图通过PHP创建MongoDB上的新对象与个性化的id,像这样:

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

这样做的问题是,当我查询id时,我需要使用以下命令:

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

而不是

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

迫使我更改所有查询。我认为我通过固定插入,通过放置'_id' => new MongoId("$id"),但是,如果我使用它,它将简单地创建默认值Mongodb id,而不是我的个性化的。

我该如何解决这个问题?

Thanks in advance

我对你的要求有点困惑,不过,我相信我可能刚刚明白。

如果你使用的_id不同于MongoDB使用的默认ObjectId作为一行的主键,那么你不应该使用ObjectIdMongoId来创建该对象。

当您使用提供的默认_id时,您应该只使用MongoId,如果您使用自己的ObjectId (MongoId)将不会像您期望的那样工作。

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