在从RedHat linux迁移到AWS上的SUSE后,我有一些奇怪的行为。
之前一切都很好。
这是我的关系:
类别:
{
"name": "Category",
"plural": "categories",
"base": "PersistedModel",
"relations": {
...
"professions": {
"type": "hasMany",
"model": "Profession",
"foreignKey": ""
}
}
}
职业:
{
"name": "Profession",
"plural": "professions",
"base": "PersistedModel",
"relations": {
...
"category": {
"type": "belongsTo",
"model": "Category",
"foreignKey": ""
}
}
}
当我用以下内容更新现有职业时,问题是:
{
"categoryId" : "..."
}
当我请求/ api / categories / {id} / professionions
时,它不起作用但/ api / profession / {id} / category工作正常。
另外,如果我创建新的职业:
{
"name" : "TEST",
"categoryId" : "..."
}
两种方式都很好。
Category.professions.create({name:“TEST2”});工作正常。
我在AWS上使用RedHat linux。现在我在AWS上使用SUSE linux。
Mongo db版本:db version v3.0.7
编辑:
node --version
v5.4.1
npm --version
3.3.12
npm list loopback
`-- loopback@2.26.2
编辑:
我尝试从/ explorer面板和代码更新它。
代码中的(有角度的)我这样做:
Profession.prototype$updateAttributes(
{
id: toAdd[i]
},
{
categoryId: catId
});
正如我所说,所有代码都在运行RDHE的测试服务器上运行。 我将检查mongo日志,但我安装了相同的mongo版本并使用相同的mongo.config
答案 0 :(得分:1)
Okey ......所以问题是这些模块中的一个或两个:
"loopback-connector-mongodb": "^1.13.0"
"loopback-datasource-juggler": "^2.39.0"
由于版本号写为^#。#。#表示更高但兼容。 但其中一个没有工作:https://github.com/strongloop/loopback/issues/274
这引起了所有问题。
简单的解决方案:
"loopback-connector-mongodb": "1.13.0"
"loopback-datasource-juggler": "2.39.0"
我刚安装了我知道可行的版本。