我正在寻找是否有人可以解决我遇到的问题。
在我的集合Y中,我有一个名为ADJU的字段,其中存储了MongoID的序列化PHP数组。
一个示例字段是 “一个:1:{I:0;一个: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条记录,如你所见,一个例子肯定有它吗?
感谢您的帮助!
答案 0 :(得分: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,或者在插入mongo之前更新用于从mysql导入数据的脚本以反序列化 - 或者编写一个(php)脚本来读取已经序列化的脚本-mongo数据,反序列化 - 并再次保存。