0

所以这是我的收藏 在此处输入图像描述

我需要得到 23 岁的记录,我试过这个:

$results = $table->find(array('author_details.age' => 23));

但它不起作用,我是 mongoDB 的新手,文档很糟糕!

4

1 回答 1

1

ObjectId("5226e8bcd874593c1400002a")在您的集合中查看带有 ID 的文档,与author_details.age属性不对应。author_details不是顶级字段;相反,它嵌套在文档的顶级0字段下。我觉得以下查询会起作用:

$results = $table->find(array('0.author_details.age' => 23));

我怀疑您是否打算0在文档中创建一个名为的字段,因此我建议调试用于插入此文档的代码,以便您可以正确创建author_details为顶级字段。

但它不起作用,我是 mongoDB 的新手,文档很糟糕!

如果您指的是docs.mongodb.org上的文档,请考虑在DOCS 错误跟踪器中分享建设性反馈,或提交包含GitHub 项目中一些建议更改的拉取请求。PHP 驱动程序文档的问题可以在PHP 项目中报告。

于 2013-09-04T18:51:28.353 回答