我正在开发一个利用MongoDB存储大量数据的NodeJs应用程序。使用“ .find”或“ .findOne”查询功能检索数据。
const collection = db.collection('recordings');
collection.find({}, {fields: ['header']}).toArray()
.then(documents => {
console.log(documents);
resolve(documents);
})
.catch(error => reject(error));
该应用程序是使用Electron Js构建的,因此我可以通过chrome开发人员工具检查数据:
拥有这些getter和setter方法会使应用程序运行缓慢。由于还可以在D3-Chart中可视化数据,因此我想出了这个相当奇怪的解决方案,以删除所有功能:
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/
希望这可以帮助。