我正在开发一个利用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开发人员工具检查数据:

javascript - 没有getter和setter的NodeJs MongoDb结果-LMLPHP
拥有这些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/
希望这可以帮助。

10-07 14:47