【问题标题】:How to get modified json output from MongoDB + Node.js + Mongoose如何从 MongoDB + Node.js + Mongoose 获取修改后的 json 输出
【发布时间】: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 代码中更改字段(属性)名称。但这里的问题是,它变成了阻塞代码。如果请求大量数据,这可能会在服务器上产生开销。

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

提前谢谢

【问题讨论】:

标签: json node.js mongodb mongoose


【解决方案1】:

mongoose 中查看Virtuals

查看参考链接中的示例。

如果你喜欢调整

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

你可以做到的。

在 SO 上检查 this answer

【讨论】:

  • 如果也有没有猫鼬的解决方案,请告诉我。谢谢您的回答
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-01-13
  • 2019-12-08
  • 1970-01-01
  • 1970-01-01
  • 2023-03-11
  • 2019-09-12
  • 2021-01-19
相关资源
最近更新 更多