2016-05-16 8 views
0

私はコレクション内のすべての文書の最小日付を探しています。私はここを参照してください、ソート機能でこれまでに近づき、私が見つける最初のものを取っていますMongodb/JS:最小(最も早い)日付を見つけよう

earliestTime = function (kitUser) { 
    'use strict'; 
    var res, earliestTime; 
    res = Cards.findOne({ kit: kitUser }, { fields: { created: 1 } }, { sort: { created: 1 } }); 
    console.log('Created date: ' + res.created); 
    earliestTime = new Date(res.created - 20000); 
    console.log('Earliest time: ' + earliestTime); 
    return earliestTime; 
}; 

私は、新しい文書を私が見つけた値から20秒を減算し、insertにその値を返します作成したフィールドの中で私が以前に見つけたものよりも20秒も少なくなっています。私は、コンソール出力を見ると

modifierObject = {}; 
modifierObject.created = earliestTime(kitUser); 

機能earliestTimeは、右の結果を提供します。しかし

I20160516-15:53:14.849(7)? Created date: Wed Apr 06 2016 12:00:11 GMT+0700 (ICT) 
I20160516-15:53:14.849(7)? Earliest time: Wed Apr 06 2016 11:59:51 GMT+0700 (ICT) 

、この機能は、各呼び出しの間に、読み取り/書き込み操作のカップルと21回呼び出されたときそれぞれの挿入されたドキュメントは、作成されたフィールドに同じタイムスタンプを持ちます。

{ "_id" : "xcd3EfKfS6iLGvcsP", "created" : ISODate("2016-04-06T04:59:51.183Z") } 
{ "_id" : "bvL3f8NHHZM8Ytdma", "created" : ISODate("2016-04-06T04:59:51.183Z") } 
{ "_id" : "gAirEbicdWJz9CELB", "created" : ISODate("2016-04-06T04:59:51.183Z") } 
{ "_id" : "kgAg6Jt2P89mTJYgN", "created" : ISODate("2016-04-06T04:59:51.183Z") } 
{ "_id" : "xeqR5K2fxNmgEv4bb", "created" : ISODate("2016-04-06T04:59:51.183Z") } 
{ "_id" : "PgPimNRxj2zBuS8M2", "created" : ISODate("2016-04-06T04:59:51.183Z") } 
{ "_id" : "snwEWeXpn4Ampsito", "created" : ISODate("2016-04-06T04:59:51.183Z") } 
{ "_id" : "8RCS8YQLxY7tY6Ruk", "created" : ISODate("2016-04-06T04:59:51.183Z") } 
{ "_id" : "tEqRJs49RNvCzkMz6", "created" : ISODate("2016-04-06T04:59:51.183Z") } 
{ "_id" : "PJnZ7Z4WH6rTTw626", "created" : ISODate("2016-04-06T04:59:51.183Z") } 
{ "_id" : "J2L6KPhzxcva3rttJ", "created" : ISODate("2016-04-06T04:59:51.183Z") } 
{ "_id" : "YR5R6ShakPxCXgj54", "created" : ISODate("2016-04-06T04:59:51.183Z") } 
{ "_id" : "Ajd6D8E8WrRB47q7d", "created" : ISODate("2016-04-06T04:59:51.183Z") } 
{ "_id" : "g5CQgjbPH7NoytyMw", "created" : ISODate("2016-04-06T04:59:51.183Z") } 
{ "_id" : "s9NgtsiR7WbjgeKLr", "created" : ISODate("2016-04-06T04:59:51.183Z") } 
{ "_id" : "NPtZMHkAdqySShD3a", "created" : ISODate("2016-04-06T04:59:51.183Z") } 
{ "_id" : "XxpWREjutAjbgHyME", "created" : ISODate("2016-04-06T04:59:51.183Z") } 
{ "_id" : "6ZsiL2ZgidWjk3cgb", "created" : ISODate("2016-04-06T04:59:51.183Z") } 
{ "_id" : "pvXiEaJgkuHEKijbB", "created" : ISODate("2016-04-06T04:59:51.183Z") } 
{ "_id" : "im4GzumrE6RARNLbe", "created" : ISODate("2016-04-06T04:59:51.183Z") } 

これはどうやって起こるのか困惑しています。

"created" : ISODate("2016-04-06T04:59:51.183Z") 
"created" : ISODate("2016-04-06T04:59:41.183Z") 
"created" : ISODate("2016-04-06T04:59:31.183Z") 
"created" : ISODate("2016-04-06T04:59:21.183Z") 

私はそれが私が簡単にMongoDBの日付の最小値を見つけることができますどのようにので、ソートと私の機能に何か、私の質問だ疑いがある:私は期待していた結果が(タイムスタンプ)になります。

ありがとうございます!私は投影が一つのオブジェクトであるため、第1のブラケットは、周りのすべてのことを持っていることを見落としてきた

res = Cards.findOne({ kit: kitUser }, { fields: { created: 1 }, sort: { created: 1 } }); 

+0

どこに挿入がありますか? –

+0

インサートは、後の段階に来ます。これは10000行以上のコードを持つアプリの一部です。 – a4xrbj1

答えて

関連する問題