【问题标题】:Loading Date values before 1970 using mongoimport vs mongo shell使用 mongoimport vs mongo shell 加载 1970 年之前的日期值
【发布时间】:2012-06-21 15:46:35
【问题描述】:

我有一些我们转换成 json 的数据,以便可以将其导入 mongodb。

对于某些文档,我们需要一个日期字段位于 1970 年之前。 所以我们基本上是这样测试文档的:

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

并已插入两个文档。

但是,当我们尝试使用 mongoimport 加载相同的文档时,我们会得到:

[nbasjes@localhost ~]$ 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

到目前为止一切都很好......

[nbasjes@localhost ~]$ 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

我们在同一日期尝试了几种语法,所有这些形式都得到了相同的效果:

  • {“日期”:新日期(-2174520376)}
  • {“日期”:新日期(1901,2,3,22,33,44,000)}
  • {"date": new Date("February 3, 1901 22:33:44")

测试系统运行 CentOS 64Bit,带有来自 10gen RPM 存储库的 mongo-10gen-2.0.6-mongodb_1.x86_64 和 mongo-10gen-server-2.0.6-mongodb_1.x86_64。

我们如何解决这个问题? 或者这是应该报告的 mongoimport 中的错误?

【问题讨论】:

    标签: mongodb mongoimport mongo-shell


    【解决方案1】:

    我将此作为 MongoDB 错误跟踪器中的错误提交。 https://jira.mongodb.org/browse/SERVER-6170

    【讨论】:

      猜你喜欢
      • 2013-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-09
      • 2023-03-16
      • 2011-07-02
      • 2017-04-28
      • 1970-01-01
      相关资源
      最近更新 更多