Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 环回4 POST方法给出422错误_Node.js_Mongodb_Typescript_Loopback4 - Fatal编程技术网

Node.js 环回4 POST方法给出422错误

Node.js 环回4 POST方法给出422错误,node.js,mongodb,typescript,loopback4,Node.js,Mongodb,Typescript,Loopback4,我正在使用环回mongodb连接器将环回4连接到mongodb 我创建的模型只有两个字段id和name,这两个字段都是必需的。还创建了存储库和控制器。但当我发出POST请求时,它给出了422个错误 这是我的模型 import { Entity, model, property } from '@loopback/repository'; @model({ settings: { strict: false } }) export class Ss extends Entity {

我正在使用环回mongodb连接器将环回4连接到mongodb

我创建的模型只有两个字段id和name,这两个字段都是必需的。还创建了存储库和控制器。但当我发出POST请求时,它给出了422个错误 这是我的模型

    import { Entity, model, property } from '@loopback/repository';

@model({ settings: { strict: false } })
export class Ss extends Entity {
  @property({
    type: 'number',
    id: true,
    required: true,
  })
  id: number;

  @property({
    type: 'string',
    required: true,
  })
  name: string;
  [prop: string]: any;

  constructor(data?: Partial<Ss>) {
    super(data);
  }
}
export interface SsRelations {
  // describe navigational properties here
}
export type SsWithRelations = Ss & SsRelations;
从'@loopback/repository'导入{Entity,model,property};
@模型({settings:{strict:false}})
导出类Ss扩展实体{
@财产({
键入:“编号”,
id:是的,
要求:正确,
})
id:编号;
@财产({
键入:“字符串”,
要求:正确,
})
名称:字符串;
[道具:字符串]:任何;
构造函数(数据?:部分){
超级(数据);
}
}
导出接口关系{
//请在此处描述导航属性
}
导出类型SsWithRelations=Ss&SsRelations;

但在最初发出POST请求时,它只显示名称而不是id。如果我只添加名称,显然它给出的id不是指定的错误。在为POST请求添加id后,它给出了422个验证错误失败

请检查下面的链接,它似乎存在
openapi
的错误,该
id
被排除在控制器is架构中

我也有同样的问题,那里的人指导我。

您需要将id作为字符串,非必需且已生成:true。然后,环回将对象id保存为字符串意味着如果对象id为ObjectId(“507f1f77bcf86cd799439011”),则在数据库中仅保存“507f1f77bcf86cd799439011”。
另一个解决方案是将id作为数字,并为id的自动增量编写代码

您介绍了如何解决它吗?我有两天忙着处理这个错误,尤其是在MongoDB数据源中。这在lb4中的模型json文件中的lb3中是可能的。我们应该在哪里做呢?您必须在DE模型目录中的MODELNAME.ts文件中找到它