2014-01-30 30 views
-2

我是新MongoDB的,開發節點JS的應用和使用的MongoDB(MongoDB的服務器)。而我有一個文檔中的波紋結構MongoDB的方法:最新日期取文件中收集

{ "associationid" : "52dbb5c0279f660000000001", "gold22ct1grm" : "2816", "gold24ct10grm" : "281736", "silver1grm" : "47.30", "silver1kg" : "473580", "created" : "28-01-2014 07:56:14 am", "_id" : { "$oid" : "52e7629ec1a04e0000000001" } } 
{ "associationid" : "52dbb5c0279f660000000001", "gold22ct1grm" : "2816", "gold24ct10grm" : "281736", "silver1grm" : "47.30", "silver1kg" : "473580", "created" : "28-01-2014 07:56:17 am", "_id" : { "$oid" : "52e762a1c1a04e0000000002" } } 
{ "associationid" : "52dbb5c0279f660000000001", "gold22ct1grm" : "2861", "gold24ct10grm" : "28650", "silver1grm" : "48.36", "silver1kg" : "48756", "created" : "28-01-2014 08:09:40 am", "_id" : { "$oid" : "52e765c4683bee0000000001" } } 
{ "associationid" : "52e75a9e0c504d0000000002", "gold22ct1grm" : "2865", "gold24ct10grm" : "28653", "silver1grm" : "45.50", "silver1kg" : "45655", "created" : "28-01-2014 11:10:16 am", "_id" : { "$oid" : "52e790182ffd050000000001" } } 
{ "associationid" : "52e75a9e0c504d0000000002", "gold22ct1grm" : "2865", "gold24ct10grm" : "28653", "silver1grm" : "45.50", "silver1kg" : "45655", "created" : "28-01-2014 11:10:18 am", "_id" : { "$oid" : "52e7901a2ffd050000000002" } } 
{ "associationid" : "52dbb5c0279f660000000001", "gold22ct1grm" : "2895", "gold24ct10grm" : "28950", "silver1grm" : "45.36", "silver1kg" : "45690", "created" : "30-01-2014 06:26:43 am", "_id" : { "$oid" : "52e9f0a35a72ac0000000001" } } 
{ "associationid" : "52dbb5c0279f660000000001", "gold22ct1grm" : "2895", "gold24ct10grm" : "28950", "silver1grm" : "45.36", "silver1kg" : "45690", "created" : "30-01-2014 06:26:44 am", "_id" : { "$oid" : "52e9f0a45a72ac0000000002" } } 
{ "associationid" : "52dbb5c0279f660000000001", "gold22ct1grm" : "2895", "gold24ct10grm" : "28950", "silver1grm" : "45.36", "silver1kg" : "45690", "created" : "30-01-2014 06:26:45 am", "_id" : { "$oid" : "52e9f0a55a72ac0000000003" } } 
{ "associationid" : "52dbb5c0279f660000000001", "gold22ct1grm" : "2895", "gold24ct10grm" : "28950", "silver1grm" : "45.36", "silver1kg" : "45690", "created" : "30-01-2014 06:26:46 am", "_id" : { "$oid" : "52e9f0a65a72ac0000000004" } } 
{ "associationid" : "52dbb5c0279f660000000001", "gold22ct1grm" : "2808", "gold24ct10grm" : "30030", "silver1grm" : "47.50", "silver1kg" : "44385", "created" : "30-01-2014 06:59:00 AM", "_id" : { "$oid" : "52e9f8343e49250000000001" } } 
{ "associationid" : "52dbb5f4279f660000000002", "gold22ct1grm" : "2809", "gold24ct10grm" : "30033", "silver1grm" : "47.50", "silver1kg" : "44385", "created" : "30-01-2014 07:31:10 AM", "_id" : { "$oid" : "52e9ffbe51e5d90000000001" } } 
{ "associationid" : "52dbb5f4279f660000000002", "gold22ct1grm" : "2810", "gold24ct10grm" : "30050", "silver1grm" : "48.50", "silver1kg" : "44385", "created" : "30-01-2014 01:09:40 PM", "_id" : { "$oid" : "52ea01bc7c64dd0000000001" } } 
{ "associationid" : "52dbb5c0279f660000000001", "gold22ct1grm" : "2816", "gold24ct10grm" : "281736", "silver1grm" : "47.30", "silver1kg" : "473580", "created" : "11-02-2014 07:56:14 AM", "_id" : { "$oid" : "52e7629ec1a04e0000000001" } } 

How to get the document created finally.(most latest date created) 
I used following code in my node.js but it returning wrong answer 
exports.getMJDMADailyRates = function(id, callback) 
{ 
    associationrates.find({associationid : id}, {'limit':1, 'sort': { 'created' : -1 } }).toArray(function(err, docs) { 
     if(err) callback(err,null); 
     else callback(null,docs); 
    }); 
} 

如果我打電話函數如getMJDMADailyRates('52dbb5c0279f660000000001');意味着它應該返回波紋管文檔

{ "associationid" : "52dbb5c0279f660000000001", "gold22ct1grm" : "2816", "gold24ct10grm" : "281736", "silver1grm" : "47.30", "silver1kg" : "473580", "created" : "11-02-2014 07:56:14 AM", "_id" : { "$oid" : "52e7629ec1a04e0000000001" } } 

,但我得到很喜歡,

{ "associationid" : "52dbb5c0279f660000000001", "gold22ct1grm" : "2808", "gold24ct10grm" : "30030", "silver1grm" : "47.50", "silver1kg" : "44385", "created" : "30-01-2014 06:59:00 AM", "_id" : { "$oid" : "52e9f8343e49250000000001" } } 

什麼是錯誤,如何獲得預期的查詢結果。

+0

什麼是你的問題? – RickyA

回答

0

如果我正確理解您的問題,您希望您的查詢按最新創建日期排序,是嗎?

如果是的話,這應該爲你做的伎倆:

collection.find().sort({created: -1}, function(err, results){ 
    // 
}); 
+0

associationrates.find({$ query:{associationid:id},$ orderby:{created:-1},$ limit:{limit:1}},function(error,mjdmarate){});我試過這個,但我可以得到單一的結果,而不是所有的文件與排序。 –

+1

@VinothKumar如果你想返回所有結果,請刪除$ limit:{limit:1}}。正如名字所暗示的那樣,它將其侷限於一個結果。 – Ari