【问题标题】:mongo find query on joda datetimemongo在joda datetime上查找查询
【发布时间】:2016-02-15 07:07:24
【问题描述】:

我正在尝试在 mongodb 中使用 find 查询来确定该特定日期的记录,当我将正常日期对象传递给它并且如果我根据 dateCreated 字段查找时,查询工作正常,但对于 joda 日期字段,我不知道我应该如何建立一个约达约会

现在我正在使用这个查询来查询普通记录

var from =  new Date('2015-05-18T00:00:00.000Z'); 
var to =  new Date('2016-05-19T00:00:00.000Z'); 
db.delivery.find( {"dateCreated" : { $gte:from,$lt:to } } );

现在我还有一个名为 deliveryDate 的字段,它的类型是 joda date 并像这样存储

"deliveryDate" : {
    "jodaType" : "org.joda.time.DateTime",
    "interval_start" : ISODate("2015-03-28T18:30:00Z"),
    "interval_end" : ISODate("2015-03-28T18:30:00Z"),
    "jodaField_zone" : "UTC",
    "time" : NumberLong("1427567400000"),
    "jodaField_dayOfMonth" : 28,
    "jodaField_hourOfDay" : 18,
    "jodaField_minuteOfHour" : 30,
    "jodaField_millisOfSecond" : 0,
    "jodaField_monthOfYear" : 3,
    "jodaField_year" : 2015
},

我google了很多,但没有成功,我不知道如何查询joda date,请帮忙!

【问题讨论】:

    标签: mongodb mongodb-query jodatime


    【解决方案1】:

    您的 joda 日期被序列化为一个嵌套的 JSON 对象。您应该可以使用interterval_start 查询它

    db.delivery.find( {"deliveryDate.interval_start" : { $gte:from,$lt:to } } );
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多