MongoDB 查询时,如何过滤子文档?
有一个文档,里面包含一个子文档,大体如下:
{
"_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查询匹配的个数
还有个问题是,如何能匹配符合条件的子文档?
# mongo
find({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")
}
]
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
建议使用MongoDB的aggreation的$filter:
https://docs.mongodb.com/mast...
Love MongoDB!Have fun!
用aggregate的方式,先將裡面的數組拆開,在選擇要顯示的項目,條件篩選後計算數量;
具体可参看萌阔论坛
有官方技术支持,可以方便提问。