相关疑难解决方法(0)

使用MongoDB和Nodejs插入和查询日期

我需要一些帮助在mongodb和nodejs中按日期查找记录.

我在抓取脚本中将日期添加到json对象,如下所示:

jsonObj.last_updated = new Date();
Run Code Online (Sandbox Code Playgroud)

该对象插入到mongodb中.我可以看到如下:

 "last_updated" : "2014-01-22T14:56:59.301Z"
Run Code Online (Sandbox Code Playgroud)

然后在我的nodejs脚本中我做了一个findOne():

 var jObj = JSON.parse(line.toString());

 collection.findOne(jObj,function(err, doc) {
   if (doc){
     console.log(doc._id);
   } else  {
     console.log('not found');
   }
 });
Run Code Online (Sandbox Code Playgroud)

找不到该对象.如果我从对象中删除了last_updated字段,那么它就是问题所在.

如果我按如下方式隔离该字段:

collection.findOne({last_updated: '2014-01-22T14:56:59.301Z'},function(err, doc) {
  if (doc){
    console.log(doc._id);
  } else  {
    console.log('not found');
  }
});
Run Code Online (Sandbox Code Playgroud)

什么都没有回来.我做错了什么?

javascript date mongodb node.js

36
推荐指数
3
解决办法
7万
查看次数

Javascript momentjs 将 UTC 从字符串转换为日期对象

各位,在处理 moment.js 文档时遇到了困难。

record.lastModified = moment.utc().format();
Run Code Online (Sandbox Code Playgroud)

返回:

2014-11-11T21:29:05+00:00
Run Code Online (Sandbox Code Playgroud)

太棒了,它采用 UTC 格式...当我将其存储在 Mongo 中时,它被存储为 a String,而不是Date对象类型,这正是我想要的。

我需要它是:

"lastModified" : ISODate("2014-11-11T15:26:42.965-0500")
Run Code Online (Sandbox Code Playgroud)

但我需要它是一个原生的javascript 对象类型,并将其存储在 Mongo 中。现在,如果我存储上述内容,它将作为字符串而不是日期对象类型输入。

我已经用 moment.js 尝试了几乎所有的方法。他们的 toDate() 函数可以工作,但会回退到我当地的时区,并且不给我 utc。

谢谢!

mongodb node.js momentjs

3
推荐指数
1
解决办法
5662
查看次数

标签 统计

mongodb ×2

node.js ×2

date ×1

javascript ×1

momentjs ×1