【发布时间】:2021-08-18 04:43:39
【问题描述】:
我正在尝试从事务中更新文档。我正在使用带有传入会话对象的“findbyidandupdate”,但出现此错误:
MongooseError: Callback must be a function, got [object Object]
Node.js 中的相关后端代码。会话对象是从数据模型对象创建的,在这种情况下,数据对象是“设备”:
const session = await Device.startSession();
const transactionOptions = {
readPreference: 'primary',
readConcern: { level: 'local' },
writeConcern: { w: 'majority' }
};
const transactionResults = await session.withTransaction( async () => {
const deviceUpdateResults = await
Device.findByIdAndUpdate(
{session},
(deviceid),
{$push: {"reviews": (reviewid)}},
{ new : true, safe: true})
}
看起来该方法不能接受会话对象。如何将会话对象传递给更新方法?
【问题讨论】:
-
能否请您更新您的问题并提供更多详细信息,1) 发布您尝试过的查询 2) 会话对象是什么,显示其中的内容 3) 控制您的输入 4) 显示预期结果。跨度>
标签: node.js mongodb transactions updates document