【问题标题】:A computed property name must be of type 'string', 'number', 'symbol', or 'any'计算属性名称必须是“字符串”、“数字”、“符号”或“任意”类型
【发布时间】:2021-08-31 02:54:28
【问题描述】:

我有 const 语言数组。我希望所有语言都用作我的模式对象的键。我已经将我的语言数组设置为常量并循环遍历它以获取每种语言的值并将其导出,现在我将其导入到我的架构中并将其用作关键变量,但我遇到了错误 language constant

const languages = [
  "Albanian",
  "Amharic",
  "  Arabic ",
  "  Armenia",
  "  Azerbaij",
  "  Basque ",
  "  Belarusi",
  "  Bengali    ",
  "  Bosnian    ",
  "  Bulgaria",
  "  Catalan    ",
  "  Cebuano",
  "  Chinese",]

export function languageSelector() {
  for (let i = 0; i < languages.length - 1; i++) {
    return languages[i];
  }
}

schema object

import * as mongoose from "mongoose";
import { visibilityPlugin } from "./plugins/visibility";
import { languageSelector } from "./constant";

const ObjectId = mongoose.Schema.Types.ObjectId;

export const TranscriptSchema = mongoose.Schema({
  [languageSelector]: [
    {
      startTime: {
        type: String,
      },
      endTime: {
        type: String,
      },
      text: {
        type: String,
      },
    },
  ],
  confidenceLevel: {
    type: Number,
  },
  videoRef: {
    type: ObjectId,
    required: true,
    ref: "videos",
  },
});

【问题讨论】:

  • languageSelector 是一个函数。你想要一个函数作为键吗?
  • @TusharShahi 不,我希望语言作为键,对于每种语言我想在模式中创建相同的 obj
  • 那么您将不得不导出语言并导入相同的语言。哪种语言应该是您在集合中的键,还是您希望所有语言都有不同的键?
  • @TusharShahi 我希望所有语言都是关键
  • 首先,您的函数将始终返回第一种语言“阿尔巴尼亚语”。它的移动距离不超过 0。

标签: angular mongoose


【解决方案1】:

为什么会出错:您将函数作为键传递。

而不是在那里使用你的功能:

  1. 导出语言
  2. 将它们导入您的文件并循环遍历它们。
  3. 向 schemaObject 动态添加键。

例子:

let schemaObject = {
  confidenceLevel: {
    type: Number,
  },
  videoRef: {
    type: ObjectId,
    required: true,
    ref: "videos",
  },
};

for (let i = 0; i < languages.length - 1; i++) {
    schemaObject[languages[i]] = [
    {
      startTime: {
        type: String,
      },
      endTime: {
        type: String,
      },
      text: {
        type: String,
      },
    },
  ];
}


【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多