Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将循环结构转换为JSON?_Javascript_Jquery_Node.js - Fatal编程技术网

Javascript 将循环结构转换为JSON?

Javascript 将循环结构转换为JSON?,javascript,jquery,node.js,Javascript,Jquery,Node.js,我从数据库中得到它,我想格式化这些数据,但我得到下面的错误 TypeError: Converting circular structure to JSON --> starting at object with constructor 'NativeConnection' | property 'base' -> object with constructor 'Mongoose' | property 'connections' -&

我从数据库中得到它,我想格式化这些数据,但我得到下面的错误

TypeError: Converting circular structure to JSON

    --> starting at object with constructor 'NativeConnection'

    |     property 'base' -> object with constructor 'Mongoose'

    |     property 'connections' -> object with constructor 'Array'

    --- index 0 closes the circle

    at JSON.stringify (<anonymous>)

    at formatReportOutput (E:\Application\routes\data.js:97:50)
我的代码: 下面是我用来区分标题和值以及格式值的代码。 格式值表示 mongodb id,日期

预期产出:

标题:_id、INumber、IID、DateReceived

数值:59920689253DFA0544F26B93535264255448252017-08-14

当我自动传递任何数据时,它应该显示在表(ng table(angularjs))中,这意味着不需要硬编码我们传递它时应该显示的标题


请帮我解决这个问题。

在调用formatOutput或在查询中使用lean()之前,将从mongo检索到的文档转换为普通javascript对象

假设routput来自mongoose查询,如果在将formatOutput传递给函数之前对查询调用.lean(),或对数组实例调用.toObject(),则formatOutput可能会按预期工作

比如说:

var routput = await Model.find().lean();
var header ="Yes";
formatOutput(routput, header);
或者这个:

var routput = await Model.find();
var header ="Yes";
formatOutput(routput.map(x => x.toObject()), header);
应该足够了

参考文献:


可能您没有将
wait
与mongoose方法一起使用。我忘记添加wait,然后出现错误:

 const indexUsers = async (req, res, next) => {
        try {
            const users = await db.User.find();
            return res.status(200).json(users);
        } catch (err) {
            next(err);
        }
    };

添加负责数据库连接的代码以及打印formatOutput函数的输出将有助于理解问题I已给定数据库(mongodb)输出(routput)。您给出了错误描述,而不是触发错误的调用代码。您能在这方面帮助我吗?
 const indexUsers = async (req, res, next) => {
        try {
            const users = await db.User.find();
            return res.status(200).json(users);
        } catch (err) {
            next(err);
        }
    };