2017-05-23 62 views
0

我試圖讓輸出有一定的元素文檔的查詢,但也只能有另一種獨特的元素找到,例如:什麼是獨特+一個很好的選擇在貓鼬

Temp.find({ UId: UserID }).sort({ "created_at" : -1 }).exec(function (err, data) { 
    console.log(data + "  " + err); 
    callback(data); 
    }); 

} ; 返回此:

{ 
    "updatedAt": "2017-05-23T18:18:19.000Z", 
    "created_at": "2017-05-23T18:18:19.000Z", 
    "UId": "58f8954c3602b80552b6f1fb", 
    "value": 69, 
    "SerialNumber": "IIOJOIMJ", 
    "_id": "59247cebd96d5406651c791e", 
    "__v": 0 
    }, 
    { 
    "updatedAt": "2017-05-23T16:34:22.000Z", 
    "created_at": "2017-05-23T16:34:22.000Z", 
    "UId": "58f8954c3602b80552b6f1fb", 
    "value": 70, 
    "SerialNumber": "IIOJOIMJ", 
    "_id": "5924648e56628d005ad15f0e", 
    "__v": 0 
    } 

但我想查詢只返回不同的元素,讓則僅返回2個文件之一。
我試圖做到這一點是這樣的:

Temp.find({ UId: UserID }).sort({ "created_at" : -1 }).distinct('SerialNumber', function (err, data) { 

    console.log(data + "  " + err); 
    callback(data); 
    }); 

但崩潰我的應用程序。我該如何最好地解決這個問題?

謝謝!

編輯

我看着@gaganshera解決方案,和它的作品!但是它也有可能將文檔的其餘部分與它結合在一起?

+0

指定的錯誤消息或堆棧跟蹤可能是有用的。 –

+0

奇怪的是,我沒有得到任何,而我的要求 – Krapton

回答

1

使用distinct功能,您可以指定條件以及獨特列這樣

Temp.distinct('SerialNumber', { UId: UserID }) 
+0

完美!你也許知道我如何顯示文檔的其餘部分? – Krapton