无法向猫鼬查找对象添加属性

时间:2021-03-09 11:59:39

标签: javascript node.js express mongoose

我正在从 mongodb 数据库获取一个对象,我想在将其作为响应(快速)发送到前端之前为其添加一个额外的属性。

obj = collection.find({});
obj[0].extra_property = "value";
res.send(obj);

我知道 obj 也会有一些方法作为属性(比如 $__version、increment、 $__哪里, 消除, delete ...) 但前端收到的对象只包含我在 mongodb 模式中定义的属性,没有这些方法,也没有我添加的 extra_property

你能告诉我一个更好的返回对象的方法并向我解释为什么会发生这种情况吗?

1 个答案:

答案 0 :(得分:2)

使用 mongoose,你可以做 obj.toObject() 这会给你一个普通的 JS 对象。在你的情况下:

obj = collection.find({});
let toSend = obj.toObject();
toSend.extra_property = "value";
res.send(toSend);