我知道_id字段可以转换为日期。
功能如下:

ObjectId.prototype.getTimestamp = function() {
  return new Date(parseInt(this.toString().slice(0,8), 16)*1000);
}

然后我可以使用doc._id.getTimestamp();来显示文档的创建日期时间。
问题是,文档只有与日期相关的_id字段。
我的问题是:如何仅通过_id查询特定日期范围的文档?

最佳答案

function GetTimeID(yourTime){
    yourTime = new Date(yourTime);
    yourTime = Math.floor(yourTime/1000).toString(16);
    var newID = ObjectId(yourTime + "0000000000000000");
    return newID;
}

var firstDateID = GetTimeID("1/1/2015");
var secondDateID = GetTimeID("1/1/2015");

var batList = batmanCollection.find({_id: {$gt: firstDateID }}).toArray();


var batList = batmanCollection.find({_id: {$lt: secondDateID }}).toArray();


var batList = batmanCollection
    .find({_id: {$lt: firstDateID , $gt: secondDateID }}).toArray();

关于javascript - 将_id用于日期查询条件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31309491/

10-10 01:29