如何从 MongoDB + Node.js + Mongoose 获取修改后的 json 输出

Posted

技术标签:

【中文标题】如何从 MongoDB + Node.js + Mongoose 获取修改后的 json 输出【英文标题】:How to get modified json output from MongoDB + Node.js + Mongoose 【发布时间】:2013-01-22 23:52:46 【问题描述】:

假设我的集合在 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 等字段名称更改为FirstNameFieldMONGO2 更改为NewName_id 更改为IdentityNo

所以我的输出会是这样的:

   
    IdentityNo: 'Unique_Value',
    FirstName: 'ngfn',
    NewName:  SomeKey: []  ,
  

知道解决方案: 是按原样获取 JSON 输出,然后在 Node.js 代码中更改字段(属性)名称。但这里的问题是,它变成了阻塞代码。如果请求大量数据,这可能会在服务器上产生开销。

谁能帮我找出一些有效的方法来做同样的事情?

提前谢谢

【问题讨论】:

***.com/questions/7093441/… 为什么在您的文档中使用像 FieldMONGO1 这样的通用字段名称? @JohnnyHK 只是为了更好的理解... 【参考方案1】:

在mongoose 中查看Virtuals

查看参考链接中的示例。

如果你喜欢调整

urSchema.virtual('FirstName').get(function () 
  return this.FieldMONGO1;
);

你可以做到的。

在 SO 上检查 this answer。

【讨论】:

如果也有没有猫鼬的解决方案,请告诉我。谢谢您的回答

以上是关于如何从 MongoDB + Node.js + Mongoose 获取修改后的 json 输出的主要内容,如果未能解决你的问题,请参考以下文章

如何从 MongoDB + Node.js + Mongoose 获取修改后的 json 输出

如何将 mongodb 数据从服务器(node.js)检索到我的 AngularJS 路由

如何将 MongoDB 查询从 Node.js 驱动程序格式调整为 Mongoose 格式

Node.js如何将geojson从mongodb传递给我可以在前端使用的对象

如何使用node js,reactjs,express从实际网页中的mongodb中获取数据

从Node JS中的MongoDB查询中获取数据