2

我想从 mongo shell 执行此操作。基本上我想改变时间存储在我当前数据库中的方式。

现在我的“时间”字段正在存储一个看起来像“Thu Oct 11 2012 15:27:58 GMT-0500 (CDT)”的字符串,但我想运行 Date.parse('Thu Oct 11 2012 15: 27:58 GMT-0500 (CDT)') 以便存储 unix 时间戳。

我想对所有当前条目全面执行此操作,因为我将来只会使用 unix 时间戳。

谢谢

4

1 回答 1

5

怎么样:

var c = db.collection.find();
while (c.hasNext()) {
  object = c.next(); 
  time = Date.parse(object.time);
  db.collection.update({_id: object._id}, {$set: {'time': time}});
}

在执行它之前,我有以下内容:

db.times.find()
{ "_id" : ObjectId("50773daa77f428a7e4cd226b"), "time" : "Thu Oct 11 2012 15:27:58 GMT-0500 (CDT)" }

执行后,它看起来像这样:

db.times.find()
{ "_id" : ObjectId("50773daa77f428a7e4cd226b"), "time" : 1349987278000 }

希望这可以帮助!

于 2012-10-11T21:51:43.690 回答