0

对于那些想要查询时间戳的人,您可以这样做:

> db.foo.find()
{ "_id" : ObjectId("4e43a21d84782019413162ed"), "a" : { "t" : 1313055261000, "i" : 1 } }
> db.foo.find({'a': {'$gte': new Timestamp(new Date(2011, 8-1, 11), 0) } })
{ "_id" : ObjectId("4e43a21d84782019413162ed"), "a" : { "t" : 1313055261000, "i" : 1 } }
> db.foo.find({'a': {'$gte': new Timestamp(new Date(2011, 8-1, 12), 0) } })

我在 mongodb 的页面中找到了该示例...但是如果我想按照示例使用 mongoskin 在 mongodb 中插入时间戳???

我试试这个:

db.collection('times').insert({time: new Timestamp(new Date('2012-08-06'),0)})

这是错误:

ReferenceError: Timestamp is not defined
4

1 回答 1

1

那是因为Timestamp没有定义。它既不是 JavaScript 也不是 Node 的一部分。您应该在使用前定义它。这应该有效:

var mongoskin = require('mongoskin');
var Timestamp = mongoskin.BSONPure.Timestamp;

请注意,此Timestamps 仅供内部数据库使用;为什么需要它们,当有Date.now()and时new Date().getTime()

无论如何,这是一个包含更多细节的链接 - http://mongodb.github.com/node-mongodb-native/api-bson-generated/timestamp.html

于 2012-09-02T08:07:55.883 回答