首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NestJS & TypeORM & MySQL -模块“typeorm”没有导出成员'ArrayContains‘

NestJS & TypeORM & MySQL -模块“typeorm”没有导出成员'ArrayContains‘
EN

Stack Overflow用户
提问于 2022-04-03 15:50:39
回答 1查看 472关注 0票数 0

我将NestJS与MySQL数据库和TypeORM结合使用。我想在数组包含一些数字的情况下过滤查询结果。我和ArrayContains接线员有问题。运算符不是由添加在TypeORM版本中的0.3.1包导出的。结果,我得到了一个错误

模块‘typeorm’没有导出成员'ArrayContains‘。

这是我的package.json依赖项

代码语言:javascript
复制
  "scripts": {
    "prebuild": "rimraf dist",
    "build": "nest build",
    "start": "nest start",
    "start:dev": "nest start --watch",
    "start:debug": "nest start --debug --watch",
    "start:prod": "node dist/main"
  },
  "dependencies": {
    "@nestjs/axios": "0.0.7",
    "@nestjs/common": "8.4.3",
    "@nestjs/core": "8.4.3",
    "@nestjs/jwt": "8.0.0",
    "@nestjs/passport": "8.2.1",
    "@nestjs/platform-express": "8.4.3",
    "@nestjs/schedule": "1.0.2",
    "@nestjs/typeorm": "8.0.3",
    "bcrypt": "5.0.1",
    "class-transformer": "0.5.1",
    "class-validator": "0.13.2",
    "date-fns": "2.28.0",
    "mysql2": "2.3.3",
    "passport": "0.5.2",
    "passport-jwt": "4.0.0",
    "reflect-metadata": "0.1.13",
    "rimraf": "3.0.2",
    "rxjs": "7.5.5",
    "typeorm": "0.3.4"
  },
  "devDependencies": {
    "@nestjs/cli": "8.2.4",
    "@nestjs/schematics": "8.0.9",
    "@types/bcrypt": "5.0.0",
    "@types/cron": "1.7.3",
    "@types/express": "4.17.13",
    "@types/node": "16.11.26",
    "@types/passport-jwt": "3.0.6",
    "source-map-support": "0.5.21",
    "ts-loader": "9.2.8",
    "ts-node": "10.7.0",
    "tsconfig-paths": "3.14.1",
    "typescript": "4.6.3"
  }

我如何尝试使用ArrayContains运算符

代码语言:javascript
复制
import { DrawEntity } from '@entities/draw.entity';
import { SortOrder } from '@models/sort-order.enum';
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { ArrayContains, Repository } from 'typeorm';

@Injectable()
export class ExampleService {

  constructor(
    @InjectRepository(DrawEntity) private readonly drawEntityRepository: Repository<DrawEntity>,
  ) {
  }

  public findAndCountAl(params: { take: number, skip: number, sortField: string, sortOrder: SortOrder }): Promise<[ DrawEntity[], number ]> {
    return this.drawEntityRepository.findAndCount({
      where: {
        result: ArrayContains([ 1, 2, 5, 10 ]),
      },
      order: {
        [params.sortField]: params.sortOrder === SortOrder.DESC ? 'DESC' : 'ASC',
      },
      take: params.take,
      skip: params.skip,
      cache: 60000,
    });
  }
}

实体

代码语言:javascript
复制
import { Column, Entity, PrimaryColumn } from 'typeorm';

@Entity({
  name: 'draw',
  orderBy: {
    id: 'ASC',
    date: 'ASC',
  },
})
export class DrawEntity {

  @PrimaryColumn({ type: 'uuid', nullable: false, generated: 'uuid' })
  public id: string;

  @Column({ type: 'datetime', nullable: false })
  public date: Date;

  @Column({ type: 'json', nullable: false })
  public result: number[];

  @Column({ type: 'json', nullable: false })
  public specialResult: number[];
}

知道我做错什么了吗?

EN

回答 1

Stack Overflow用户

发布于 2022-11-03 14:38:59

现在应该管用了。我们使用的是Typeorm0.3.0和nestjs。https://github.com/nestjs/typeorm/blob/master/package.json#L59

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71727513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档