在 Model.findOneAndUpdate 中使用交易
Use transaction in Model.findOneAndUpdate
如何在 mongoose 中使用 Model.findOneAndUpdate() 进行交易?
我有一个会话对象,我想将 findOneAndUpdate 操作作为事务的一部分提交,但不知道如何传递我的会话对象。
const session = params?.mongoose?.session;
const doc = await this.Model.findOneAndUpdate(
{ sequence: sequence },
{
$setOnInsert: { sequenceLength: sequenceLength },
$inc: { value: 1 }
},
{ upsert: true, new: true }
);
此问题是 TypeScritp 问题。类型定义不完整,QueryFindOneAndUpdateOptions
接口应包含 session?: ClientSession;
我在这里开了一个问题:https://github.com/Automattic/mongoose/issues/8396
基本上你必须简单地将会话作为参数传递,但目前这会引发 ts 错误。
const session = params?.mongoose?.session;
const doc = await this.Model.findOneAndUpdate(
{ sequence: sequence },
{
$setOnInsert: { sequenceLength: sequenceLength },
$inc: { value: 1 }
},
{ upsert: true, new: true, session: session }
);
如何在 mongoose 中使用 Model.findOneAndUpdate() 进行交易?
我有一个会话对象,我想将 findOneAndUpdate 操作作为事务的一部分提交,但不知道如何传递我的会话对象。
const session = params?.mongoose?.session;
const doc = await this.Model.findOneAndUpdate(
{ sequence: sequence },
{
$setOnInsert: { sequenceLength: sequenceLength },
$inc: { value: 1 }
},
{ upsert: true, new: true }
);
此问题是 TypeScritp 问题。类型定义不完整,QueryFindOneAndUpdateOptions
接口应包含 session?: ClientSession;
我在这里开了一个问题:https://github.com/Automattic/mongoose/issues/8396
基本上你必须简单地将会话作为参数传递,但目前这会引发 ts 错误。
const session = params?.mongoose?.session;
const doc = await this.Model.findOneAndUpdate(
{ sequence: sequence },
{
$setOnInsert: { sequenceLength: sequenceLength },
$inc: { value: 1 }
},
{ upsert: true, new: true, session: session }
);