无法更改NodeJS中的对象字段

时间:2016-12-12 03:33:34

标签: javascript node.js mongoose

我对nodeJS和mongo对象有一个奇怪的问题。我想转换每个对象的对象数组中的一个字段。 但是,第二个输出中没有名为proper_date的字段。

Conversation.find({})
                .populate('from to', 'username')
                .exec()
                .then(function (conversations) {
                    console.log(conversations);
                    var conversations = _.each(conversations, function (conversation) {
                        var date = moment(conversation.created_at);
                        conversation.proper_date = date.format('MM/DD/YYYY HH:mm:ss');
                    });
                    console.log(conversations);
});

谢谢!

1 个答案:

答案 0 :(得分:2)

返回的conversations对象是Mongoose object,您无法为其添加属性。

您可以使用conversations.toObject()将其转换为javascript objectConversation.find().lean().exec(),以使Mongoose返回javascript object而不是Mongoose object