Loopback发送错误的数据类型

时间:2018-03-22 13:04:11

标签: node.js mongodb react-native loopbackjs

在我的mongodb中我有几个数组,但是当我从数据库加载这些数组时,他们的strangley是对象而不是数组。

这种奇怪的行为是在几天之后,在一切正常之前,我从数据库中获取数组。

环回一些自动设置的奇怪标志,将我的数组转换为对象或类似的东西吗?

目前我的所有软件包中都有最新版本,并且已经尝试使用旧版本,但没有任何改变此行为。

起初还存在保存数组的问题,有时它们被保存为对象,但由于我从数据库中删除了所有空对象,因此只保存了数组。

sections数组

出现问题

我的模特json是:

{
  "name": "Track",
  "plural": "Tracks",
  "base": "PersistedModel",
  "idInjection": true,
  "options": {
    "validateUpsert": true
  },
  "properties": {
    "alreadySynced": {
      "type": "boolean"
    },
    "approved": {
      "type": "boolean"
    },
    "deletedByClient": {
      "type": "boolean",
      "default": false
    },
    "sections": {
      "type": "object",
      "required": true
    },
    "type": {
      "type": "string"
    },
    "email": {
      "type": "string",
      "default": ""
    },
    "name": {
      "type": "string",
      "default": "Neuer Track"
    },
    "reason": {
      "type": "string",
      "default": ""
    },
    "date": {
      "type": "date"
    },
    "duration": {
      "type": "number",
      "default": 0
    },
    "correctnessscore": {
      "type": "number",
      "default": 0
    },
    "evaluation": {
      "type": "object"
    }
  },
  "validations": [],
  "relations": {},
  "acls": [],
  "methods": {}
}

我还尝试将类型对象更改为数组,但没有成功

1 个答案:

答案 0 :(得分:0)

好吧,我在模型中没有看到任何数组类型,我不确定你的问题是什么。

  

环回一些自动设置的奇怪标志,即   将我的数组转换为对象或类似的东西?

没有标志没有环回,除非你设置它,否则不会转换任何数据类型! 因此,如果将属性定义为对象并且在不验证数据类型的情况下传递数组,则会更改数据类型并将其另存为对象而不是数组。

让我们在Track模型中定义一个数组:

"property": {
   "type": "array"
}

你需要一组对象吗?

"property": {
       "type": ["object"]
    }

字符串?

 "property": {
           "type": ["string"]
        }

数字?

 "property": {
           "type": ["number"]
        }

详细了解环回类型here