如何在PHP中使用MongoDb动态子对象访问
我有以下示例代码,我需要在php中执行相同的查询
我将显示SHELL脚本以获取mongoDB中的结果
db.getCollection('Data').find({'COLLECTION.2017-06-16': {$type:'object'}});
我如何能够使用数组和对象获得PHP集合查询结果。
我试过这样但是它不能正常工作
$finder = $drum->find({'COLLECTION.2017-06-14': {$type:'object'}});
或
$finder = $drum->find(array('COLLECTION.2017-06-14' => array($type:'object')));
在此先感谢我也附上了样品json。 请参考并给我解决方案。
{
"CODE": "XXXYYY",
"COLLECTION": {
"2017-06-16": {
"TEST": "CLEAR"
},
"2017-06-17":{
"TEST":"PUTPOST"
}
},
"Success": true,
},{
"CODE": "XXXYYYZZZZ",
"COLLECTION": {
"2017-06-16": {
"TEST": "CLEAR"
},
"2017-06-17":{
"TEST":"PUTPOST"
}
},
"Success": true,
}
答案 0 :(得分:0)
你的语法错了。在PHP中,您无法使用library(lubridate)
month.vector <- format(seq.Date(min(DF$mtime), max(DF$mtime), by="1 month"), "%m%Y")
num.claims.per.month <- sapply(month.vector, function (x) length(grep(x, unique.id)))
,但需要使用:
来进行键/值组合。
为了清晰起见,您可以使用=>
代替array(…)
。
您还需要使用[…]
包含数组键:
'…'
我还想指出,使用值($drum->find( [ 'COLLECTION.2017-06-14' => [ '$type' => 'object' ] ] );
)作为关键字通常是个坏主意。它使查询更加困难,甚至无法找到例如特定月份的一系列文档。