【问题标题】:JavaScript destructure object into other object set default valueJavaScript 将对象解构为其他对象设置默认值
【发布时间】:2020-11-24 14:25:02
【问题描述】:

我正在从数组中解构对象的值。如果数组为空,则会发生错误。如果数组为空,如何设置默认值?

如果我正在解构的数组为空,则会发生错误:

"TypeError","message":"无法解构 'undefined' 或 'null' 的属性 payments。"

解构代码(await (...).toArray()返回数组[ { payments: @integer } ]):

    ({
        [0]: { payments: users.finances.payments = 0 },
    } = await (
        await payments_collection.aggregate([
            {
                $group: {
                    _id: null,
                    payments: { $sum: '$coins' },
                },
            },
        ])
    ).toArray());

【问题讨论】:

  • 尝试用[{ payments: users.finances.payments = 0 } = {}]替换{ [0]: { payments: users.finances.payments = 0 }, }

标签: javascript node.js mongodb destructuring


【解决方案1】:

@adiga,感谢您的回答。

我用[{ payments: users.finances.payments = 0 } = {}]替换了{ [0]: { payments: users.finances.payments = 0 } }

新的工作代码:

    [{ payments: users.finances.payments = 0 } = {}] = await (
        await payments_collection.aggregate([
            {
                $group: {
                    _id: null,
                    payments: { $sum: '$coins' },
                },
            },
        ])
    ).toArray();

【讨论】:

    猜你喜欢
    • 2018-03-19
    • 2011-10-27
    • 2015-05-25
    • 1970-01-01
    • 2021-07-26
    • 2010-12-22
    • 2016-01-19
    • 1970-01-01
    • 2020-04-09
    相关资源
    最近更新 更多