考虑我的集合在 MongoDB 中存储如下:
{
_id: 'Unique_Value',
FieldMONGO1: 'ngfn',
FieldMONGO2: { SomeKey: ['val1','val2','val...'] },
}
当我在 Mongoose 的模型实例上使用 find 方法进行检索时。我得到以下 JSON 输出:
{
_id: 'Unique_Value',
FieldMONGO1: 'NAME_value',
FieldMONGO2: { SomeKey: ['val1','val2','val...'] },
}
两者完全相同。
问题:有什么办法可以将字段名称(如 FieldMONGO1
)更改为 FirstName
、FieldMONGO2
> 到 NewName
& _id
到 IdentityNo
?
所以我的输出将是这样的:
{
IdentityNo: 'Unique_Value',
FirstName: 'ngfn',
NewName: { SomeKey: [] },
}
知道解决方案:是按原样获取 JSON 输出,然后更改 Node.js 代码中的字段(属性)名称。但问题是,它变成了阻塞代码。如果请求大量数据,这可能会给服务器带来开销。
有人可以帮我找到一些有效的方法吗?
提前致谢
最佳答案
查看mongoose中的Virtuals
。
查看引用链接中的示例。
如果你像这样调整
urSchema.virtual('FirstName').get(function () {
return this.FieldMONGO1;
});
你能做到。
检查this answer就这样。
关于json - 如何从 MongoDB + Node.js + Mongoose 获取修改后的 json 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14751835/