我试图通过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
作为一行的主键,那么你不应该使用ObjectId
或MongoId
来创建该对象。
当您使用提供的默认_id
时,您应该只使用MongoId
,如果您使用自己的ObjectId
(MongoId
)将不会像您期望的那样工作。
MongoId
。