Node.js MongoDB,如何将事务设置为CRUD?

Node.js MongoDB,如何将事务设置为CRUD?,node.js,mongodb,Node.js,Mongodb,在我的项目中有一个包含findOne和updateOne的方法 当我的服务器出现延迟时,延迟的请求立即得到处理 而findOne在updateOne以珍贵的方法运行之前带来了数据 特定列的值不应低于零,但此现象已导致(-) 在没有副本的MongoDB中,我可以将事务设置为CRUD吗 如果我不能,我该如何处理这种情况 下面是我的代码示例 1) 文件 2) 方法(检查和减少堆栈) 3) 延迟后(每个请求减少30个堆栈) { _id: ObjectID, name: 'name', stack: 10

在我的项目中有一个包含
findOne
updateOne
的方法

当我的服务器出现延迟时,延迟的请求立即得到处理

findOne
updateOne
以珍贵的方法运行之前带来了数据

特定列的值不应低于零,但此现象已导致(-)

在没有副本的MongoDB中,我可以将事务设置为CRUD吗

如果我不能,我该如何处理这种情况

下面是我的代码示例

1) 文件

2) 方法(检查和减少堆栈)

3) 延迟后(每个请求减少30个堆栈)

{ _id: ObjectID, name: 'name', stack: 100 }
let method = async (req, res) => {
    let pool = await db.connect()
    let findTarget = await pool.collection('storage').findOne({ _id: req.targetID })
    if((findTarget.stack - req.stackCountToReduce) > 0 ) {
        let update = await pool.collection('storage').updateOne(
            { _id: req.id },
            { $set: { stack: { $inc: req.stackCountToReduce }}}
        )
    }
}
{ _id: OjbectID, name: 'name', stack: -140 }