繁体   English   中英

MongoDB Transactions - 将循环结构转换为 JSON 错误

[英]MongoDB Transactions - Converting circular structure to JSON error

为了在 mongoose 或 mongodb 中实现事务,我们需要副本集吗? 我正在尝试使用以下代码在 mongodb 中实现事务

    const session = await mongoose.startSession();
      await session.startTransaction();
      try {
        // Writing to Invalid DB
        if (invalidData && invalidData.length) {
          const transformedData = this.transform(invalidData);
          // console.log('transformedData---------->', transformedData);
          const invalidOutput = await InvalidDataModel.insertMany([transformedData], { session });
        await session.commitTransaction();
        session.endSession();
      } catch (error) {
        console.log({ err: error.errmsg, result: error.result.result.writeErrors });
        await session.abortTransaction();
        session.endSession();
        throw error;
      }

但我得到了错误

022-07-19T10:05:00.940Z - error: uncaughtException: Converting circular structure to JSON
    --> starting at object with constructor 'Server'
    |     property 's' -> object with constructor 'Object'
    |     property 'coreTopology' -> object with constructor 'Server'
    |     ...
    |     property 's' -> object with constructor 'Object'
    --- property 'topology' closes the circle date=Tue Jul 19 2022 15:35:00 GMT+0530 (India Standard Time), pid=50111, uid=503, gid=20,

在这个问题上需要帮助吗?

发生这种情况是因为有一个 JSON.stringify(query) 导致此循环错误发生。 删除它。 使用扁平库并且错误不会出现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM