首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在MongoDB中的PHP搜索没有结果?

在MongoDB中的PHP搜索没有结果?
EN

Stack Overflow用户
提问于 2014-04-20 11:18:45
回答 1查看 102关注 0票数 0

我有一个存储DNS日志的数据库。数据存储在集合dnslog中。这是文档结构:

代码语言:javascript
运行
复制
{
    "_id" : ObjectId("53539df1e4b076aa8975840a"), 
    "dateandtime" : ISODate("2014-04-09T03:42:48Z"), 
    "client" : "222.29.72.224", 
    "query" : "www.google.com", 
    "other" : "AAAA"
}

我将将近一周的日志存储到数据库中,总数为821943936;我使用以下PHP脚本来搜索结果:

代码语言:javascript
运行
复制
$m = new MongoClient();
echo "Connection to database successfully"."<br />";
$db = $m->dns;
echo "Datebase dns selected"."<br />";
$collection = $db->dnslog;
echo "Collection selected succsessfully"."<br />";
$startdate = new MongoDate("2014-04-09 11:42:00");
$enddate = new MongoDate("2014-04-09 11:43:00");
$result = $collection->find(array("dateandtime"=>array('$gte'=>$startdate,'$lte'=>$enddate)));
echo $result->count();
foreach($result as $doc){
      echo $doc['client']."<br />";
}

该脚本不返回任何结果。这是脚本的输出。

代码语言:javascript
运行
复制
Connection to database successfully
Datebase dns selected
Collection selected succsessfully

我确信我有用于指定查询的文档,因为我可以在使用以下命令时看到文档:

代码语言:javascript
运行
复制
db.dnslog.find();
EN

回答 1

Stack Overflow用户

发布于 2014-04-20 15:59:01

您的查询错误。MongoDate要求将UNIX时间戳作为构造函数中的参数:

代码语言:javascript
运行
复制
$startdate = new MongoDate(strtotime("2014-04-09 11:42:00"));
$enddate = new MongoDate(strtotime("2014-04-09 11:43:00"));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23178053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档