仅返回MongoDB查询中一个字段的不同值

时间:2014-11-16 22:10:41

标签: javascript mongodb

我一直在寻找一些例子,但它们似乎都没有用。我试图仅返回来自另一个字段的条件为真的一个字段的唯一值。这是我的收藏品的样子:

记录

{
 _id: "XuZcMm2MGCr7CshB5"<br>
 clientAvailability: "Direct Solutions<br>
"enhancementId: "D08F817L"<br>
enhancementName: "Allow TN Transfer"<br>
follow: false<br>
impactedProducts: Array[4]<br>
internal: false<br>
like: false<br>
releaseDate: Wed Aug 27 2014 00:00:00 GMT-0500 (CDT)<br>
requestingMso: "Internal"<br>
requestingProduct: "Voice Services"<br>
required: false<br>
}

我尝试将查询限制为只有&#39; releaseDate&#39;是在2014年,并返回&#39; clientAvailability&#39;的所有独特价值。对于那些记录。为什么这不起作用?我是一个菜鸟,所以我确定我错过了一些简单的东西。提前谢谢!

    return Records.distinct('clientAvailability', { $and: [{releaseDate: {$gte: new Date('Jan 1, 2014'), $lte: new Date('Nov 26,2014')}}]}
    );

1 个答案:

答案 0 :(得分:1)

distinct是一个异步函数,因此您需要提供一个回调来接收结果。您目前只是返回它所代表的Query对象。您也不需要使用$and运算符。

Records.distinct('clientAvailability', 
    {releaseDate: {$gte: new Date('Jan 1, 2014'), $lte: new Date('Nov 26,2014')}},
    function (err, result) {
        // result contains the array of unique values
    }
);