当前的拓扑不支持会话

时间:2018-12-26 06:57:35

标签: node.js mongodb mongoose transactions async-await

enter image description here

嗨,

我收到错误消息“ 当前拓扑不支持会话” 请参考所附图片。

,代码为

async function insertBooking(parking, aFunction) {
    const session = await BookingSchema.startSession().catch(error => {
        console.log(error);
    });

    try {
        session.startTransaction();
        let booking = new BookingSchema(parking)
        mongoose.startSession();
        booking.save(function (err, booking) {
            if (booking) {
               //code to be run
            }


        })
        await session.commitTransaction().catch(error => {
            console.log(error);
        });
        session.endSession()
    } catch (error) {
        await session.abortTransaction().catch(error => {
            console.log(error);
        });
        session.endSession();
        throw error;
    }
}

以上代码在本地系统上完全可用。 但是错误发生在云服务器(数字海洋)上 请让我知道是否需要其他信息。

1 个答案:

答案 0 :(得分:0)

似乎您尚未在支持事务的云服务器上安装MongoDB 4.0

交易仅适用于> = MongoDB v4.0