Loopback有很多关系在mongodb上不起作用
从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} /职业时,它不起作用
但是/ api / profession / {id} / category正常。
另外,如果我创build新的职业,如:
{ "name" : "TEST", "categoryId" : "..." }
它工作得很好,两种方式。
Category.professions.create({name:“TEST2”}); 工作得很好。
我在AWS上使用RedHat Linux。 现在我在AWS上使用SUSE Linux。
Mongo db版本:db版本v3.0.7
编辑:
node --version v5.4.1 npm --version 3.3.12 npm list loopback `-- loopback@2.26.2
编辑:
我试图从/浏览器面板和代码更新它。
在代码(angular)我这样做:
Profession.prototype$updateAttributes( { id: toAdd[i] }, { categoryId: catId });
正如我所说,所有的代码在运行RDHE的testing服务器上工作。 我将检查mongo日志,但我安装了相同的mongo版本并使用相同的mongo.config
Okey …所以问题是这些模块中的一个或两个:
"loopback-connector-mongodb": "^1.13.0" "loopback-datasource-juggler": "^2.39.0"
由于版本号被写为^#。#。#,这意味着更高但兼容。 但其中一个不工作: https : //github.com/strongloop/loopback/issues/274
这造成了所有的问题。
简单的scheme:
"loopback-connector-mongodb": "1.13.0" "loopback-datasource-juggler": "2.39.0"
我只是安装了我知道的版本。