【发布时间】:2011-10-31 13:26:56
【问题描述】:
我一直在使用node-mongoskin 来连接这两者。一切都很好,直到我查询了一些我认为应该作为 javascript 的 Date 对象返回的“日期”字段。但是结果的类型是字符串,这很奇怪(对我来说)并且不方便。
插入看起来像这样:
var doc = {
date: new Date(),
info: 'Some info'
}
db.users.insert( doc, {safe: true}, function(err, res) {
...
});
上面的结果是(没有_id字段):
{ "date" : "Mon Oct 24 2011 18:00:57 GMT+0400 (MSK)", "info": "Some info" }
但是,使用 MongoDB Shell 插入工作正常,除了字段类型为 ISODate
> db.things.insert({ date: new Date() }); db.things.find();
{ "_id" : ObjectId("4eae9f2a34067b92db8deb40"), "date" : ISODate("2011-10-31T13:14:18.947Z") }
所以,问题是:我应该如何插入文档以查询日期字段为Date 对象?我想要的是在数据库服务器端设置字段。我只是发送空字段之类的东西,然后 db-server 使用默认的 mongo 机制为我设置这些内容。
插入时间戳(如native MongoDB timestamp)也是一个问题,但没什么大不了的。
PS:通过 mongoskin 和 mongodb-native docs 运气不好。
【问题讨论】:
-
我认为,日期问题随着更新而消失(不确定是谁:mongo 的驱动程序)。仍然想知道如何正确插入时间戳。