我正在开发一个利用 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 图表中可视化,我想出了这个相当奇怪的解决方案来删除所有功能:
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/
希望这对您有所帮助。
关于javascript - 没有 getter 和 setter 的 NodeJs MongoDb 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40704641/