如何从 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
等字段名称更改为FirstName
,FieldMONGO2
更改为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传递给我可以在前端使用的对象