2017-02-24 8 views
0

私は自分のコレクションにタイムスタンプフィールドを持っています。それが格納されているフォーマットは "2016-02-06 20:24:39 -0500"です。mongodbの日付変換

私はISODateでmongodb CLIに変換する必要があります。どのように私はISODate形式で日付を変換する方法を提案することができます。

+0

ですか? –

+0

その文字列です。 2017-02-06T15:42:00.684Zの形式で必要です。 – Soham

+0

あなたはmongo native javascriptの魔法使いをコレクションを通してループさせることができ、すべての行を読み込み、日付文字列を日付オブジェクトと更新に応じて変換します –

答えて

0

ループ内でMongoDB関数を使用することができます。たとえば、私は次の文書を持っています。

{ 
    "_id" : ObjectId("58b036ff8f79f3a0ab96a1cd"), 
    "date" : "2016-02-06 20:24:39 -0500" 
} 

私はこのクエリ今

db.getCollection('test').find({_id:ObjectId("58b036ff8f79f3a0ab96a1cd")}).forEach(function(doc) { 
    var objDate = ISODate(doc.date); //Make an ISO date 
    doc.date = objDate; //Overwrite the value 
    db.test.save(doc); //Save the document 
}); 

とISO形式にdateの文字列値を変換することができ、文書は次のようになります。それは、日付オブジェクトまたは単なる文字列

{ 
    "_id" : ObjectId("58b036ff8f79f3a0ab96a1cd"), 
    "date" : ISODate("2016-02-06T20:24:39.000Z") 
} 

enter image description here

+0

ありがとう。その完璧に動作します。 – Soham

+0

喜んで:) –