Javascript 访问mongodb';来自映射器的对象(MapReduce)
根据我之前问的问题,我有一个额外的问题: 所以我在MongoDB中的数据现在看起来像这样:Javascript 访问mongodb';来自映射器的对象(MapReduce),javascript,json,mongodb,mapreduce,Javascript,Json,Mongodb,Mapreduce,根据我之前问的问题,我有一个额外的问题: 所以我在MongoDB中的数据现在看起来像这样: { "data": { "interaction": { "created_at": "Wed, 09 Apr 2014 14:38:16 +0000" } }, "_id": { "$oid": "53455b59edcd5e4e3fdd4ebb" } } 在我以前,它是这样的: [ {
{
"data": {
"interaction": {
"created_at": "Wed, 09 Apr 2014 14:38:16 +0000"
}
},
"_id": {
"$oid": "53455b59edcd5e4e3fdd4ebb"
}
}
在我以前,它是这样的:
[
{
created_at: "2014-03-31T22:30:48.000Z",
id: 450762158586880000,
_id: "5339ec9808eb125965f2eae1"
}
]
因此,要访问在创建的,我使用的映射器如下:
var mapper = function () {
if ( this.created_at.getTime() > ( last_date + 10000 ) ) {
...
但随着数据库结构的改变,我试图改变:
this.created_at.getTime()
致:
但不幸的是,它没有成功。感谢您提供的任何帮助我不想这么简单,但在导入这些日期字符串时,您只需执行以下操作:
新日期(“2014年4月9日星期三14:38:16+0000”)
这将返回一个正确的日期类型,您实际上应该将其作为数据的一部分插入。因此,您在
创建的新交互的格式似乎与以前完全不同。事实上,它看起来像一根绳子。这就是它现在的实际表现,还是你只是在抽象?对于要执行的Date
类型操作,此操作仍应通过shell显示为ISODate
对象。再次感谢,这就是我的日期在db中的外观。我将数据直接从twitter保存到db。我可以使用以下命令转换它:var created\u at=data.created\u at;var d=新日期(创建日期)代码>但我想在读取数据时这样做,而不是在我保存数据时这样做。因此,作为字符串的日期是“坏的”。在插入MongoDB之前,您需要努力将这些字符串从twitter提要解析为实际的日期格式。这实际上是导致问题的原因,因为JavaScript中内置的Date
函数不能对字符串执行任何操作。但是我可以从mongodb读取“Wed,09 Apr 2014 14:38:16+0000”
,然后将其放入新变量中,在mapper中转换并使用它吗?
this.data.interaction.created_at.getTime()