如何在MongoDB中获取句柄日期范围

如何在MongoDB中获取句柄日期范围,mongodb,Mongodb,全部: 我是MongoDB的新手,我想知道如果我想按日期范围搜索文档,我该怎么做?因此,问题是: [1] 如何插入数据 我的数据对象类似于: { value: 10, date: "20150121" } 我想知道如何在插入日期字段之前对其进行预处理 [2] 如何搜索特定范围的文档 我在考虑使用类似于: db.collection.find( { date: { $gt: date1, $lt: date2 } } ); 但我不确定 谢谢试试看。 那就行了。您可能希望将日期转

全部:

我是MongoDB的新手,我想知道如果我想按日期范围搜索文档,我该怎么做?因此,问题是:

[1] 如何插入数据

我的数据对象类似于:

{
    value: 10,
    date: "20150121"
}
我想知道如何在插入日期字段之前对其进行预处理

[2] 如何搜索特定范围的文档

我在考虑使用类似于:

db.collection.find( { date: { $gt: date1, $lt: date2 } } );
但我不确定

谢谢

试试看。 那就行了。您可能希望将日期转换为整数而不是字符串,如图所示

> db.datesort.insert({value:NumberInt(10),date:NumberInt(20150121)});
> db.datesort.insert({value:NumberInt(20),date:NumberInt(20150122)});
> db.datesort.insert({value:NumberInt(30),date:NumberInt(20150123)});
> db.datesort.insert({value:NumberInt(40),date:NumberInt(20150124)});
> db.datesort.insert({value:NumberInt(50),date:NumberInt(20150125)});

> db.datesort.find({date:{$gt:20150121,$lt:20150124}});
{ "_id" : ObjectId("555d0c23f4384ca8c403f441"), "value" : 20, "date" : 20150122 }
{ "_id" : ObjectId("555d0c2bf4384ca8c403f442"), "value" : 30, "date" : 20150123 }

有关(1),请参见和,例如。对于(2),是的,您可以使用比较运算符-例如,请参阅和MongoDB文档,网址为@DNA,谢谢,我将看一看。