我想看看是否有人能阐明我遇到的问题。
在我的集合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中已经序列化的数据,反序列化,然后再次保存。