如何在JavaScript数据库中存储复杂对象? [JSON.stringify()导致错误]

时间:2019-06-26 21:58:25

标签: javascript node.js discord.js

我有一个叫做Player的课程。我也有一个名为gameData的玩家列表。 我想将gameData存储在数据库中,以免每次bot重启/崩溃时都不会重置用户数据。

当我尝试JSON.stringify(gameData);这会导致错误。我认为这是Discord的错。

enter image description here

这里是Player的构造函数,如果您想了解更多内容,请告诉我。

constructor(namein, rolein, abilityin, playerObjin, memberIn) {
        this.name = namein;
        this.alive = true;
        this.role = rolein;
        this.ability = abilityin;
        this.hasPerformedAction = true;
        this.targetObject = null;
        this.target = "none";
        this.playerObject = playerObjin; // msg.author
        this.memberObject = memberIn; // msg.member
        this.selfHealed = false;
        this.visitedBy = [];
        this.voteSelection = null;
        this.guiltyOrInno = 0;
        this.score = 0;
        this.beenVotedUpBy = [];

    }

namein,rolein和capabilityin都是字符串

我正在寻找的是:一种存储和访问在运行过程中持久存在的gameData的方法。

1 个答案:

答案 0 :(得分:0)

我的猜测是playerObjin或memberIn引用了您要进行字符串化的对象,或者其中一个对象引用了另一个。您无法在JSON中进行循环引用,在JSON中,您的其中一个属性包含对另一个属性的引用,而该属性完全位于行下方。