Php MongoDB如果子数组搜索如果不是,则执行此操作
我有一个电台希望制作一个节目网格,我不想在不同的集合/数据库中输入节目信息和节目播出时间,而是想使用PHP为MongoDB进行数组输入,以存储它,如下所示:Php MongoDB如果子数组搜索如果不是,则执行此操作,php,mongodb,Php,Mongodb,我有一个电台希望制作一个节目网格,我不想在不同的集合/数据库中输入节目信息和节目播出时间,而是想使用PHP为MongoDB进行数组输入,以存储它,如下所示: array{ "showname"=>"title of show", "pagelink"=>"showtitle" "onairdays"=>array( "monday","tuesday","wednesday","thursday","friday" ),
array{
"showname"=>"title of show",
"pagelink"=>"showtitle"
"onairdays"=>array(
"monday","tuesday","wednesday","thursday","friday"
),
"onairtime"=> "22:00", "endtime"=> "01:00"
)
但是如果一个节目每周只有一天,我希望它看起来像这样
array{
"showname"=>"title of show",
"pagelink"=>"showtitle"
"onairdays"=>"monday",
"onairtime"=> "22:00",
"endtime"=> "01:00"
)
PHP查询需要搜索日期和时间,它是通过PHP墨尔本/澳大利亚来实现的,以全文小写形式搜索日期,以24小时格式搜索时间
我试过以下方法
$document = $collection->findOne(array("day"=>$day, "start"=> array('$gte' => date('Hi'))));
$document = $collection->findOne(array("day"=>$day, "start"=> array('$gte' => print date('Hi'))));
但在我做以下操作之前,它不会起作用
$document = $collection->findOne(array("day"=>$day, "start"=> array('$gte' => date('Hi'))));
$document = $collection->findOne(array("day"=>$day, "start"=> array('$gte' => print date('Hi'))));
但这会打印出时间,然后打印出数组。为了我的钱,我甚至会将单日条目保留为数组,因为如果某个项目的编程更改,那么更改它们会更容易。无论如何,MongoDB将允许您对混合类型进行索引,但将相同类型保留在相同字段上比混合更好。在时间上不是太热,但无论如何,当你穿越一天的边界时,你需要做一些杂耍。但实际上,你真正的问题是什么?是否需要查询来执行此操作?你到底试过什么?我的问题是如何查询时间。我不确定我是否知道如何去一天=>星期一-但我不确定如何查询时间,因为它必须是,例如,一个节目在0700开始,现在是0710。我现在如何找到大于或等于0700,小于结束时间的节目