如何检查您是否确实从汇总

时间:2017-06-16 21:06:24

标签: javascript node.js mongodb

当我的聚合找不到任何内容且数据为[]时,它仍会解析我的函数。

如何检查我的聚合物是否确实找到了什么?

我的if (!data) {无效

usersTable.aggregate (
    {
        $match:{
            _id: UserID
        }
    }
,function (err, data) {
    if (err) {
        throw new Error('findUser: ' + err);
    } else {
        console.log("found: " + JSON.stringify(data, null, 4));
        if (!data) {
            throw new Error('ERR: Unknown userID in call of newBooking');
        }
        resolve("OK");
    };
});

1 个答案:

答案 0 :(得分:0)

解决这个问题,if (!data) {永远不会有效,因为即使mongo返回一个空对象,它仍然是一个对象。

相反,我找到了这个功能

function isEmpty(obj) {
    return Object.keys(obj).length === 0;
}

所以现在我可以使用if (isEmpty(data)) {,它完美无缺。