将键/值对添加到返回的mongoose对象

时间:2018-04-05 01:33:05

标签: javascript node.js mongoose stripe.js

我有代码检索Mongoose对象,然后使用stripeCustomerId(存储在文档中)来检索Stripe customer对象(通过nodejs条带)。然后我想将条带customer对象附加到我的Mongoose对象。

exports.getPlatformByCId = (cId) => {
    return new Promise((resolve, reject) => {
        Platform.find({ clientId: cId }).then(response => {
            let user = response[0];
            stripe.customers.retrieve(user.stripeCustomerId, (err, stripeCust) => {                
                if(err) {
                    user["stripeCustomer"] = null;
                } else {
                    user["stripeCustomer"] = stripeCust;
                }
                resolve(user);
            })
        }).catch(err => {
            if(err) {
                if(err.error !== 'not_found') {
                    resolve(err);
                } else {
                    reject(err);
                }
            }
        })
    })
}

我也试过user.stripeCustomer = stripeCust我将猫鼬对象带回到需要去的地方,但stripeCustomer不是该对象的一部分!我已经确认stripeCust实际上正在返回我期望的数据。

任何指导?我想知道Schema是否以某种方式受到保护,也许有一种猫鼬方法来解决这个问题?

1 个答案:

答案 0 :(得分:5)

将对象与mongoose断开。在进行查询时,使用mongoose的lean()方法来获取JSON对象。然后你可以添加键。

http://mongoosejs.com/docs/api.html#query_Query-lean