dongliechuich10319 2018-05-25 08:04
浏览 77
已采纳

mongoDB的$ slice运算符在PHP中不起作用

I have got this mongoDB query:

db.b_activity.find(
    {token_id:"71e32267108b163ccdd3f59ba06c66674b295499"},
    {activity_log:{$slice: -1}}
).pretty();

It gets all the desired results in the mongoDB terminal, but when I write the same query in PHP, it fetches the complete array every time.

MY PHP query:

$get_current_activity = $this->mongo_b_employee->b_activity->findOne(
    array('token_id'=>$token_id),
    array("activity_log" => array('$slice' => -1))
);

Any suggestions where I am doing something wrong?

PS: I am just trying to access the last array element.

  • 写回答

1条回答 默认 最新

  • 普通网友 2018-05-25 08:12
    关注

    The signature for MongoDB\Collection::findOne() is slightly different from the "shell". It requires the "projection" key in the $options as the second argument:

    $get_current_activity=$this->mongo_b_employee->b_activity->findOne(
        array('token_id'=>$token_id),
        array(
          "projection" => array( "activity_log" => array('$slice' => -1) )
        )
    )
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 基于双目测规则物体尺寸
  • ¥15 wegame打不开英雄联盟
  • ¥15 公司的电脑,win10系统自带远程协助,访问家里个人电脑,提示出现内部错误,各种常规的设置都已经尝试,感觉公司对此功能进行了限制(我们是集团公司)
  • ¥15 救!ENVI5.6深度学习初始化模型报错怎么办?
  • ¥30 eclipse开启服务后,网页无法打开
  • ¥30 雷达辐射源信号参考模型
  • ¥15 html+css+js如何实现这样子的效果?
  • ¥15 STM32单片机自主设计
  • ¥15 如何在node.js中或者java中给wav格式的音频编码成sil格式呢
  • ¥15 不小心不正规的开发公司导致不给我们y码,