使用php在mongodb中查找当前日期是否在开始日期和结束日期之间的数据

阿姆鲁特·盖克瓦德(Amrut Gaikwad)

我在MongoDB中有一个名为shop的集合

shop{
    "_id" : "523c1e",
    "address" : "100, University Road",
    "city" : "xyz",
    "contact_name" : "John",
    "deals" : [ 
        {
            "deal_id" : "524913",
            "deal_type" : "Sale",
            "deal_description" : "Very good deal",
            "start_date" : "2013-09-12",
            "end_date" : "2013-09-31"
        }, 
        {
            "deal_id" : "52491abf6",
            "deal_type" : "Sale",
            "deal_description" : "Buy 2 jeans, get one free",
            "start_date" : "2013-09-20",
            "end_date" : "2013-10-31"
        }
    ],
   }

我想使用mongodb和php查找正在运行的交易(当前日期为'2013-10-01')和_id =“ 523c1e”,

所以我会得到,

       {
            "deal_id" : "52491abf6",
            "deal_type" : "Sale",
            "deal_description" : "Buy 2 jeans, get one free",
            "start_date" : "2013-09-20",
            "end_date" : "2013-10-31"
        }

请帮助我纠正此查询,

我正在尝试这个但没有给出任何输出

<?php
    date_default_timezone_set('Asia/Kolkata');
    $date=date('Y-m-d');

          $pro_id='523c1e';

         $cursor = $collection->find(array("_id" => "$pro_id",$date => array('$gt' => 'deals.start_date','$lte' => 'deals.end_date')),array("deals" => 1));
         foreach($cursor as $document)
         {
              echo json_encode(array('posts'=>$document));
         }
  ?>

请帮我...

比约里

如果我对问题的理解正确,那么您正在尝试仅返回与搜索条件匹配的子文档?

这是通过在投影中使用位置$运算符完成的。

$criteria = array("some.nested.structure" => 42);
$project  = array("some.$.structure" => 1);
$collection->find($criteria, $project);

对于您的情况,将类似于:

$criteria = array(
    "_id" => $pro_id,
    "deals.start_date" => array('$lte' => $date),
    "deals.end_date" => array('$gt' => $date)
);
$project = array("deals.$" => 1);
$cursor = $collection->find($criteria, $project);

请注意,您的搜索查询是错误的。您不能说value => array(operator => fieldname),那就不是MongoDB语法。有关如何使用$ lt运算符的示例,请参见http://docs.mongodb.org/v2.2/reference/operator/query/lt/

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

检查输入的开始日期和结束日期是否在数据库中已经开始的日期和结束日期之间

来自分类Dev

MySQL-返回行,当前日期在开始日期和结束日期之间

来自分类Dev

雄辩的:检查日期是否在开始日期和结束日期之间

来自分类Dev

通过使用当前日期时间的开始和结束日期时间更改全日历事件颜色

来自分类Dev

从开始日期等于开始日期和结束日期之间的sql中检索数据

来自分类Dev

如何根据上周的当前日期获取上周作为开始日期和结束日期

来自分类Dev

xslt 2.0将当前日期与开始日期和结束日期进行比较

来自分类Dev

获取当前季度php的开始日期和结束日期

来自分类Dev

获取当前季度php的开始日期和结束日期

来自分类Dev

ElasticSearch:查询今天是否在列表中的开始日期和结束日期之间和之间

来自分类Dev

PHP:计算令牌中的mysql中存储的日期时间和当前日期时间之间的日差

来自分类Dev

根据从当前日期确定的开始日期和结束日期显示即将到来的到期日期

来自分类Dev

PHP显示从当前日期开始的2天数据

来自分类Dev

如何在PHP Codeigniter中禁用为“结束日期”选择的“开始日期”的先前日期

来自分类Dev

如何在给定的开始日期和结束日期之间的数组中添加缺失的数据条目

来自分类Dev

获取将结束日期与当前日期进行比较的数据

来自分类Dev

计算PHP中给定开始日期和结束日期之间的天数

来自分类Dev

如何使用php在开始日期和结束日期之间以特定格式列出财务年度?

来自分类Dev

日期范围中的开始和结束日期

来自分类Dev

Bootstrap中的开始日期和结束日期

来自分类Dev

AngularJS中的开始日期和结束日期

来自分类Dev

日期范围中的开始和结束日期

来自分类Dev

MySQL日期介于事件的开始日期和结束日期之间

来自分类Dev

两个日期之间的开始日期和结束日期

来自分类Dev

检索日期在开始日期和结束日期之间的记录

来自分类Dev

计算开始日期和当前日期之间的工作日

来自分类Dev

检查日期是否在上一行的开始日期和结束日期之间

来自分类Dev

如何在dataweave中查找当前日期和时间?

来自分类Dev

使用 QUERY 或 VLOOKUP 查找当前日期和时间

Related 相关文章

  1. 1

    检查输入的开始日期和结束日期是否在数据库中已经开始的日期和结束日期之间

  2. 2

    MySQL-返回行,当前日期在开始日期和结束日期之间

  3. 3

    雄辩的:检查日期是否在开始日期和结束日期之间

  4. 4

    通过使用当前日期时间的开始和结束日期时间更改全日历事件颜色

  5. 5

    从开始日期等于开始日期和结束日期之间的sql中检索数据

  6. 6

    如何根据上周的当前日期获取上周作为开始日期和结束日期

  7. 7

    xslt 2.0将当前日期与开始日期和结束日期进行比较

  8. 8

    获取当前季度php的开始日期和结束日期

  9. 9

    获取当前季度php的开始日期和结束日期

  10. 10

    ElasticSearch:查询今天是否在列表中的开始日期和结束日期之间和之间

  11. 11

    PHP:计算令牌中的mysql中存储的日期时间和当前日期时间之间的日差

  12. 12

    根据从当前日期确定的开始日期和结束日期显示即将到来的到期日期

  13. 13

    PHP显示从当前日期开始的2天数据

  14. 14

    如何在PHP Codeigniter中禁用为“结束日期”选择的“开始日期”的先前日期

  15. 15

    如何在给定的开始日期和结束日期之间的数组中添加缺失的数据条目

  16. 16

    获取将结束日期与当前日期进行比较的数据

  17. 17

    计算PHP中给定开始日期和结束日期之间的天数

  18. 18

    如何使用php在开始日期和结束日期之间以特定格式列出财务年度?

  19. 19

    日期范围中的开始和结束日期

  20. 20

    Bootstrap中的开始日期和结束日期

  21. 21

    AngularJS中的开始日期和结束日期

  22. 22

    日期范围中的开始和结束日期

  23. 23

    MySQL日期介于事件的开始日期和结束日期之间

  24. 24

    两个日期之间的开始日期和结束日期

  25. 25

    检索日期在开始日期和结束日期之间的记录

  26. 26

    计算开始日期和当前日期之间的工作日

  27. 27

    检查日期是否在上一行的开始日期和结束日期之间

  28. 28

    如何在dataweave中查找当前日期和时间?

  29. 29

    使用 QUERY 或 VLOOKUP 查找当前日期和时间

热门标签

归档