gpt4 book ai didi

mongodb - Mongoose 返回的数据是不可变的吗?

转载 作者:IT老高 更新时间:2023-10-28 13:09:07 25 4
gpt4 key购买 nike

我想添加到来自 mongoose 查询的返回数据:

User.findById(userId, function(err, data) {
if (!err) {
data.newvar = 'Hello, world';
}
});

但是,当我在控制台记录输出时,newvar 不存在。我也尝试过使用下划线的扩展:

_.extend(data, {'newvar': 'Hello, world'});

也没有运气。因为我有嵌套文档,所以使用浅拷贝是行不通的。有没有办法在这里追加数据?

最佳答案

处理此问题的一种方法是将您的 mongoose 模型实例转换为您可以通过调用 toObject() 完全控制的普通对象。就可以了:

User.findById(userId, function(err, data) {
if (!err) {
data = data.toObject();
data.newvar = 'Hello, world';
}
});

如果您想要更结构化的解决方案,您可以按照 here 的描述将虚拟属性添加到您的架构中。 .

关于mongodb - Mongoose 返回的数据是不可变的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13350185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com