gpt4 book ai didi

java - 在 Java 中使用 MongoDB 中的日期范围进行查询

转载 作者:可可西里 更新时间:2023-11-01 09:24:58 25 4
gpt4 key购买 nike

我刚开始使用 MongoDB。我把它装满了收据,例如:一张收据看起来像这样:

{ 
"_id" : {
"$oid" : "510fa057c6f818c2bfd0b279"
} ,

"StoreName" : "Metro" ,
"StoreNumber" : 521 ,
"Items" : [ {
"ItemName" : "Battery" ,
"ItemManufacturer" : "Duracell" ,
"ItemPrice" : 12 ,
"ItemQuantity" : 2 ,
"ItemTotalPrice" : 24
} ,

{
"ItemName" : "TV CRT 25 inch" ,
"ItemManufacturer" : "Toshiba" ,
"ItemPrice" : 1659 ,
"ItemQuantity" : 1 ,
"ItemTotalPrice" : 1659
} ,
{
"ItemName" : "Mobile" ,
"ItemManufacturer" : "Nokia" ,
"ItemPrice" : 2966 ,
"ItemQuantity" : 4 ,
"ItemTotalPrice" : 11864
}
] ,
"Date" : {
"$date" : "2012-06-16T01:21:11.758Z"
} ,
"Total" : 13547
}

我需要进行查询,在其中指定日期范围以获取该范围内的所有收据。我尝试了以下查询,但没有返回任何内容。

  BasicDBObject query = 
new BasicDBObject(
"Date",
new BasicDBObject(
"$gt",
"2012-06-20T10:05:21.968Z"
).append(
"$lte",
"2012-09-24T05:29:43.031Z"
)
);

最佳答案

MongoDB 日期与 java.util.Date 结合使用。将您的查询更改为如下内容:

Date start = new java.util.Date(2012, 06, 20, 10, 05);
Date end = new java.util.Date(2012, 06, 20, 10, 30);

BasicDBObject query = new BasicDBObject("Date",
new BasicDBObject("$gt", start)).
append("$lte", end) ));

关于java - 在 Java 中使用 MongoDB 中的日期范围进行查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14687499/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com