问题描述
有一个文档,里面包含一个子文档,大体如下:
{ '_id' : ObjectId('59376b35a233be856d4a0731'), 'plate_number' : '京A11111', 'breakdown' : [{ 'file_id' : '4003732', 'case_number' : 'xxxx', 'lev_code' : 'B231', 'crdate' : ISODate('2016-01-19T17:00:43Z')},{ 'file_id' : '4010523', 'case_number' : 'xxxx', 'lev_code' : 'B231', 'crdate' : ISODate('2016-06-29T14:53:36Z')},{ 'file_id' : '4010980', 'case_number' : 'xxxx', 'lev_code' : 'B211', 'crdate' : ISODate('2016-07-01T17:18:40Z')} ]}
现在的需求是,如何使用PHP 7根据plate_number & lev_code查询匹配的个数
还有个问题是,如何能匹配符合条件的子文档?
# mongofind({plate_number:'京A11111', breakdown.lev_code:'B231'}){ 'breakdown' : [{ 'file_id' : '4003732', 'case_number' : 'xxxx', 'lev_code' : 'B231', 'crdate' : ISODate('2016-01-19T17:00:43Z')},{ 'file_id' : '4010523', 'case_number' : 'xxxx', 'lev_code' : 'B231', 'crdate' : ISODate('2016-06-29T14:53:36Z')},{ 'file_id' : '4010980', 'case_number' : 'xxxx', 'lev_code' : 'B211', 'crdate' : ISODate('2016-07-01T17:18:40Z')} ]}
问题解答
回答1:建议使用MongoDB的aggreation的$filter:
https://docs.mongodb.com/mast...
Love MongoDB!Have fun!