0

我想看看是否有人可以对我遇到的问题有所了解。

在我的集合 Y 中,我有一个名为 ADJU 的字段,其中存储了 MongoID 的序列化 PHP 数组。

一个示例字段是“a:1:{i:0;a:1:{s:4:\"MBID\";C:7:\"MongoId\":24:{4f2c5b9bb9a21d5010000005}}}”

我传入的参数是“4f2c5b9bb9a21d5010000005”

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 条记录,正如你所看到的,一个例子肯定有它?

谢谢你的帮助!

4

1 回答 1

1

好吧,这不是查询:

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数据,反序列化它 - 并再次保存它。

于 2012-03-14T08:54:38.107 回答