php - 如何从按日期排序的mongodb输出数据集合

标签 php mongodb

我想从 mongodb 中检索 10 行最新消息。 首先,我需要按字段“timestamp”按升序对数据进行排序。然后我需要选择前 10 行,它们是具有最新时间戳的行。 这就是我建立连接的方式(成功)

  $m = new MongoClient("mongodb://127.0.0.1");
  $db = $m ->nutch;
  //echo "Database nutch selected";

  $collection = $db -> crawl_data; 

  $cursor = $collection->find();

这就是我按照 PHP 手册指南尝试获取数据的方式

  $cursor->sort(array('timestamp' => 1));
  foreach($cursor as $doc){
  echo $doc["title"];
  }

仅供引用:时间戳的数据类型是字符串:“2015/01/31”。我不确定这是否是原因。

另外,当我用 MySql 做 php 时,浏览器总是告诉我问题出在哪一行。使用 mongodb,它不会给你任何错误报告,除了一个空白页面....

最佳答案

排序不再像这样工作了, 为了能够使用查找进行排序,您只需像这样使用第二个查找参数:

$filter  = [];
$options = ['sort' => ['timestamp' => -1]];

$client = new MongoDB\Client('mongodb://localhost');
$client->mydb->mycollection->find($filter, $options);

复制自this answer

关于php - 如何从按日期排序的mongodb输出数据集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28247915/

相关文章:

php - 从动态下拉列表中打印所选值 php mysql

java - MongoDB Java 驱动程序 : query where d>2, a ="ABC",b ="AA"

mongodb - Docker-compose和mongoDB:无法在任何兼容版本下启动WiredTiger?

javascript - 如何使用onchange根据选择的值显示不同的信息?

php - 如何按类获取图片src

php - 使用 exec( ) 并行化 php

php - 地址中嵌入换行符的 Paypal IPN 错误

c# - MongoDB 文本搜索,在 C# 中进行排序

node.js - 使用 Mongoose 设置 Mongodb 安全服务器

mongodb - 如何配置 MongoRepository 以使用新的 MongoClient API?