簡體   English   中英

如何在MongoDB中按日期查詢文檔?

[英]How to query documents by Date in MongoDB?

我的活動學院存儲以下文檔:

{
  "_id": {
      "$oid": "537b2a232a47f21830ae5b7b"
  },
  "startTime": {
      "$date": "2014-05-18T21:00:00.000Z"
  },
  "endTime": {
      "$date": "2014-05-18T23:00:00.000Z"
  }
},
{
  "_id": {
    "$oid": "537af8136c4162d0379e2139"
  },
  "startTime": {
    "$date": "2014-05-19T20:30:00.000Z"
  },
  "endTime": {
    "$date": "2014-05-19T21:30:00.000Z"
  }
}

如何通過特定的startTime查詢事件,如下所示:

var startTime = '2014-05-18T20:00:00.000Z';

db.collection.find({startTime: {$eq: startTime}});

我的問題是我需要忽略時間,只在查詢中使用日期。 如何構建查詢?

在您要查詢的當天的午夜和第二天的午夜定義日期。 然后使用$ lt (小於)和$ gt (大於)運算符來獲取這兩個時間點之間的時間范圍內的所有結果。

var from = new Date('2014-05-18T20:00:00.000Z');
var to = new Date('2014-05-19T20:00:00.000Z');

db.collection.find({startTime: {$gt: from, $lt:to}});

您需要創建Date對象,這應該有所幫助

var start = new Date(2010, 3, 1);
var end = new Date(2010, 4, 1);

http://cookbook.mongodb.org/patterns/date_range/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM