NodeJs MongoDb没有getter和setter的结果

我正在开发一个使用MongoDB来存储大量数据的NodeJs应用程序。 数据使用“.find”或“.findOne”查询function进行检索。

const collection = db.collection('recordings'); collection.find({}, {fields: ['header']}).toArray() .then(documents => { console.log(documents); resolve(documents); }) .catch(error => reject(error)); 

该应用程序使用Electron Js构build,因此我可以通过Chrome开发人员工具检查数据:

控制台输出 有了这些getter和setter使得应用程序非常慢。 由于数据也在D3-Chart中可视化,所以我想出了这个相当奇怪的解决scheme来删除所有function:

 JSON.parse(JSON.stringify(documents)) 

没有这个额外的步骤,图表开始结结巴巴。

有没有更好的方法来检索原始结果,而不是通过遍历所有的文件去除不必要的getter和setter函数?

谢谢。

问题肯定不是在mongo。 我也迷惑这行{fields: ['header']}

如果你只想要标题字段,你需要像这样查询

collection.find({}, {'header': 1, _id: 0}).toArray()

https://docs.mongodb.com/v3.0/tutorial/project-fields-from-query-results/

希望这可以帮助。

我按照这个post的build议后得到了解决scheme: https : //stackoverflow.com/a/38490959/1292336

如果将Electron渲染器进程直接连接到mongo数据库,则只会出现此问题。 您应该使用主进程并使用ipc传输每个查询的结果。

感谢Mykola Borysyuk和Marc为重build问题:)