2

mongo シェルからこれを行いたいと思います。基本的に、現在のデータベースに時間を格納する方法を変更したいと考えています。

現在、「time」フィールドには「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 に答える