有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java使用ColdFusion将日期插入MongoDB

我在将JSONDate正确插入MongoDB时遇到问题。我使用的是ColdFusion 11、MongoDB 3.01和Mongo Java驱动程序

日期作为字符串插入到数据库中

<cfset utilDate = CreateObject("java","java.util.Date") />
<cfset utilJSON = CreateObject("java", "com.mongodb.util.JSON") />
<cfset SimpleDaxteFormat  = CreateObject("java", "java.text.SimpleDateFormat").init("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'") />
<cfset SimpleDateFormat2 = CreateObject("java", "java.text.SimpleDateFormat").init("yyyy-MM-dd'T'HH:mm:ss.SSS'+01:00'") />
<cfset jodaIso = CreateObject("java", "org.joda.time.format.ISODateTimeFormat") />

<cfset isoDate1 = "2015-03-25T15:23:57.000Z" />
<cfset isoDate2 = "2015-03-25T15:23:57.000+01:00" />
<cfset isoDate3 = "2015-03-25T15:23:57+01:00" />

<!--- Joda Date-Time --->
<cfset jMillis = jodaIso.dateTimeNoMillis() />
<cfset jpdt = jMillis.parseDateTime(isoDate3) />
<cfset jToDateIso = jpdt.toDateTimeISO() />

<!--- Document --->
<cfset doc = {
   "date1" = SimpleDateFormat.parse(isoDate1),
   "date2" = SimpleDateFormat2.parse(isoDate2),
   "date3" = jToDateIso.toDate()
} />

<!--- JSON parsing --->    
<cfset doc = utilJSON.parse(SerializeJSON(doc)) />
<cfset col.save(doc) />

显示MongoDB集合时,插入成功,但日期格式为字符串:

> db.datetest.find().pretty()
{
    "_id" : ObjectId("5512c4fd1e106620a5b49dac"),
    "date1" : "März, 25 2015 15:23:57",
    "date2" : "März, 25 2015 15:23:57",
    "date3" : "März, 25 2015 15:23:57"
}

如何将日期插入为Date而不是字符串


共 (0) 个答案