MongoDB、PHP和串行化的问题


Problems with MongoDB, PHP and Serialisation

我想看看是否有人能阐明我遇到的问题。

在我的集合Y中,我有一个名为ADJU的字段,它存储在其中,即MongoID的串行PHP数组。

一个示例字段是"a:1:{i:0;a:1:{s:4:''"MBID''";C:7:''"MongoId''":24:{4f2c5b9ab9a21d5010000005}}"

传入的参数是"4f2c5b9b9a21d5010000005"

public function read_adjudicating(MongoID $account_identifier){
    $regexObj = new MongoRegex("/".$account_identifier->__toString()."/");
    var_dump($regexObj);
    $result = $this->connection->X->Y->find(array('ADJU' => $regexObj), array('__id'));
    var_dump($result);

有人能解释为什么它给我0条记录吗?正如你所看到的,一个例子肯定有它吗?

谢谢你的帮助!

好吧,这不是查询:

db.illogical.insert({'ADJU': "a:1:{i:0;a:1:{s:4:'"MBID'";C:7:'"MongoId'":24:{4f2c5b9bb9a21d5010000005}}}"})
db.illogical.find({'ADJU': /4f2c5b9bb9a21d5010000005/})
{ "_id" : ObjectId("4f605b9e5d2b96c06d2adb27"), "ADJU" : "a:1:{i:0;a:1:{s:4:'"MBID'";C:7:'"MongoId'":24:{4f2c5b9bb9a21d5010000005}}}" }

这意味着您编写的php代码与您期望的查询不一致,或者数据不是您期望的格式。

不过,与其调查原因,不如IMO更新用于从mysql导入数据的脚本,以便在插入到mongo之前进行反序列化,或者编写一个(php)脚本来读取mongo中已经序列化的数据,反序列化,然后再次保存。