2017-04-15 7 views
1

日付全体を再計算せずにmongoドキュメントの日付エントリの時間を更新できますか?ここでMongoDB Dateオブジェクトの更新時間(日付ではない)

は私のスキーマです:ここでは

book = { 
    name: String, 
    release: Date 
} 

は、いくつかの文書である:

{name:"book1", release: ISODate("2016-05-18T16:00:00Z")} 
{name:"book1", release: ISODate("2016-05-17T17:00:00Z")} 
{name:"book1", release: ISODate("2016-03-12T01:00:00Z")} 

のように。

ご覧のとおり、本の時間は16:00、17:00、01:00です。私は

月と年変わらず、実際の日に保ちながら、夜十二時にすべての時間を設定したい

が可能ということですか?

+0

は私の答えはあなたの問題を解決しましたか? –

答えて

0

時間を00に設定するmongoシェルスクリプトは、現地時間と異なる場合があるUTC時間で保存することに注意してください。

var collection = db.YOUR_COLLECTION; 
var allBooks = collection.find().toArray(); 

allBooks.forEach(function(book){ 
    var updatedDate = new Date(book.release.setHours(0)) 
    collection.update({_id: book._id}, {release: updatedDate}) 
}); 

n.b.私はメーカー3T(旧モンゴシェフ)

さらに読書でこれを実行しました:

+0

@MichaelSeltenreichこれはあなたのために働いた場合、あなたはそれをupvoteできますか? –

関連する問題