使用php创建新的MongoId对象
我正试图通过PHP在MongoDB上创建具有个性化ID的新对象,如下所示:使用php创建新的MongoId对象,php,arrays,mongodb,Php,Arrays,Mongodb,我正试图通过PHP在MongoDB上创建具有个性化ID的新对象,如下所示: $user = Array( '_id' => "$id", 'name' => $name, ); 问题是,当我查询ID时,我需要使用以下命令: $query = Array( '_id' => "$id" ); 而不是更合适的 $query = Array( '_id' => new MongoId("$id") ); 强迫我更改所有查询
$user = Array(
'_id' => "$id",
'name' => $name,
);
问题是,当我查询ID时,我需要使用以下命令:
$query = Array( '_id' => "$id" );
而不是更合适的
$query = Array( '_id' => new MongoId("$id") );
强迫我更改所有查询。我想我是通过修复插入来完成的,通过放置'_id'=>newmongoid($id'),但是,如果我使用它,它只会创建默认值
mongodb id,insead我的个性化
我怎样才能解决这个问题
提前谢谢我对你在这里的要求有点困惑,不过,我相信我会理解的 如果您使用的
\u id
与MongoDB用于行主键的默认ObjectId
不同,则不应使用ObjectId
或实际上使用MongoId
创建该对象
当您使用提供的默认\u id
时,您应该只使用MongoId
,如果您使用自己的ObjectId
(MongoId
)将无法按预期运行
因此,这里的答案是停止使用本页所述的
MongoId
:它必须是24个十六进制字符。我现在能做什么?我的问题是:删除MongoId对象是否会对DB的功能造成问题?谢谢。@johnsmith不,MongoId只是OjbectId的一个PHP端包装器,所以如果您没有在您的_id中使用ObjectID,就没有问题了