2012-06-21 43 views
1

我有一些數據我們轉換成json,所以它可以導入到mongodb中。1970年以前使用mongoimport vs mongo shell加載日期值

因爲我們需要有前1970年 所以我們基本上是通過做這個測試的文檔位於日期字段一些文件:

[[email protected] ~]$ echo 'db.datetest.save({"date": new Date(1)});' | mongo nielsbasjes 
MongoDB shell version: 2.0.6 
connecting to: nielsbasjes 
bye 
[[email protected] ~]$ echo 'db.datetest.save({"date": new Date(-1)});' | mongo nielsbasjes 
MongoDB shell version: 2.0.6 
connecting to: nielsbasjes 
bye 

兩個文件已插入。

然而,當我們試圖用mongoimport加載相同的文件中,我們得到這樣的:

[[email protected] ~]$ echo '{"date": new Date(1)}' | mongoimport -vv -d nielsbasjes -c datetest 
Thu Jun 21 17:43:19 creating new connection to:127.0.0.1 
Thu Jun 21 17:43:19 BackgroundJob starting: ConnectBG 
Thu Jun 21 17:43:19 connected connection! 
connected to: 127.0.0.1 
Thu Jun 21 17:43:19 ns: nielsbasjes.datetest 
Thu Jun 21 17:43:19 filesize: 0 
Thu Jun 21 17:43:19 got line:{"date": new Date(1)} 
Thu Jun 21 17:43:19 got line: 
imported 1 objects 

到目前爲止好...

[[email protected] ~]$ echo '{"date": new Date(-1)}' | mongoimport -vv -d nielsbasjes -c datetest 
Thu Jun 21 17:43:24 creating new connection to:127.0.0.1 
Thu Jun 21 17:43:24 BackgroundJob starting: ConnectBG 
Thu Jun 21 17:43:24 connected connection! 
connected to: 127.0.0.1 
Thu Jun 21 17:43:24 ns: nielsbasjes.datetest 
Thu Jun 21 17:43:24 filesize: 0 
Thu Jun 21 17:43:24 got line:{"date": new Date(-1)} 
Thu Jun 21 17:43:24 Assertion: 10340:Failure parsing JSON string near: "date": ne 
0x581a82 0x528610 0xaa3ff3 0xaa5e63 0xa9cccd 0xaa0932 0x3bbb81ecdd 0x4fed69 
mongoimport(_ZN5mongo11msgassertedEiPKc+0x112) [0x581a82] 
mongoimport(_ZN5mongo8fromjsonEPKcPi+0x3d0) [0x528610] 
mongoimport(_ZN6Import8parseRowEPSiRN5mongo7BSONObjERi+0x8b3) [0xaa3ff3] 
mongoimport(_ZN6Import3runEv+0x16e3) [0xaa5e63] 
mongoimport(_ZN5mongo4Tool4mainEiPPc+0x169d) [0xa9cccd] 
mongoimport(main+0x32) [0xaa0932] 
/lib64/libc.so.6(__libc_start_main+0xfd) [0x3bbb81ecdd] 
mongoimport(__gxx_personality_v0+0x3c9) [0x4fed69] 
exception:Failure parsing JSON string near: "date": ne 

Thu Jun 21 17:43:24 got line: 
imported 0 objects 
encountered 1 error 

我們已經嘗試了幾種語法同一日期和我們可以得到與所有這些形式相同的效果:

  • {「date」:new Date(-2174520376)}
  • { 「日期」:新的日期(1901,2,3,22,33,44,000)}
  • { 「日期」:新的日期( 「1901年2月3日22時33分44秒」)

測試系統使用10gen RPM存儲庫中的mongo-10gen-2.0.6-mongodb_1.x86_64和mongo-10gen-server-2.0.6-mongodb_1.x86_64運行CentOS 64Bit。

我們該如何解決? 或者這是mongoimport中應該報告的錯誤?

+0

爲什麼要投票? –

回答

相關問題