在我的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": {}
}
我还尝试将类型对象更改为数组,但没有成功
答案 0 :(得分:0)
好吧,我在模型中没有看到任何数组类型,我不确定你的问题是什么。
环回一些自动设置的奇怪标志,即 将我的数组转换为对象或类似的东西?
没有标志没有环回,除非你设置它,否则不会转换任何数据类型! 因此,如果将属性定义为对象并且在不验证数据类型的情况下传递数组,则会更改数据类型并将其另存为对象而不是数组。
让我们在Track模型中定义一个数组:
"property": {
"type": "array"
}
你需要一组对象吗?
"property": {
"type": ["object"]
}
字符串?
"property": {
"type": ["string"]
}
数字?
"property": {
"type": ["number"]
}
详细了解环回类型here。