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问题:)