Javascript 类型';masterTaskInterface[]和#x27;不可分配给类型';[对象]';。目标需要1个元素,但源的元素可能较少

Javascript 类型';masterTaskInterface[]和#x27;不可分配给类型';[对象]';。目标需要1个元素,但源的元素可能较少,javascript,node.js,mongodb,typescript,mongoose,Javascript,Node.js,Mongodb,Typescript,Mongoose,所以我有下面的模式 import mongoose from 'mongoose'; import { ProjectTaskInterface } from '~/interfaces/project-task.interface'; const taskSchema = new mongoose.Schema( { data: [mongoose.Schema.Types.Mixed], projectId: Number, }, {

所以我有下面的模式

import mongoose from 'mongoose';
import { ProjectTaskInterface } from '~/interfaces/project-task.interface';

const taskSchema = new mongoose.Schema(
    {
        data: [mongoose.Schema.Types.Mixed],
        projectId: Number,
    },
    {
        timestamps: true,
    }
);

const taskModel = mongoose.model<
    projectTaskInterface & mongoose.Document
>('Task', taskSchema);

export default taskModel;
现在我的问题开始于当我调用一个API时,我得到了一个响应数据 作为
主任务界面[]
。 但是当运行下面的代码进行更新时,我得到了一个错误

const procoreProjectTask = await Task.findOne({
    projectId: projectId,
    updatedAt: { $gte: compareTime },
});

procoreProjectTask.data = result as masterTaskInterface[];
类型“masterTaskInterface[]”引发的错误不能分配给类型“[object]”。目标需要1个元素,但源元素可能更少。

因此,基本上我的理解是,我不能在mongoose中将typescript接口分配给
混合的
模式类型

这个问题的解决办法是什么

const procoreProjectTask = await Task.findOne({
    projectId: projectId,
    updatedAt: { $gte: compareTime },
});

procoreProjectTask.data = result as masterTaskInterface[];