Loopback hasMany 关系不适用于 mongodb
Loopback hasMany relation doesn't work on 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}/professions
时它不起作用
但是 /api/profession/{id}/category 工作正常。
此外,如果我创建新的职业,例如:
{
"name" : "TEST",
"categoryId" : "..."
}
两种方式都很好。
Category.professions.create({ 名称: "TEST2" });也很好用。
我在 AWS 上使用 RedHat linux。现在我在 AWS 上使用 SUSE linux。
Mongo 数据库版本:数据库版本 v3.0.7
编辑:
node --version
v5.4.1
npm --version
3.3.12
npm list loopback
`-- loopback@2.26.2
编辑:
我尝试从 /explorer 面板和代码更新它。
在代码中 (angular) 我这样做:
Profession.prototype$updateAttributes(
{
id: toAdd[i]
},
{
categoryId: catId
});
正如我所说,所有代码都在测试服务器 运行 RDHE 上运行。
我会检查 mongo 日志,但我安装了相同的 mongo 版本并使用相同的 mongo.config
好的...所以问题出在这些模块中的一个或两个:
"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"
我刚刚安装了我知道有效的版本。
从 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}/professions
时它不起作用但是 /api/profession/{id}/category 工作正常。
此外,如果我创建新的职业,例如:
{
"name" : "TEST",
"categoryId" : "..."
}
两种方式都很好。
Category.professions.create({ 名称: "TEST2" });也很好用。
我在 AWS 上使用 RedHat linux。现在我在 AWS 上使用 SUSE linux。
Mongo 数据库版本:数据库版本 v3.0.7
编辑:
node --version
v5.4.1
npm --version
3.3.12
npm list loopback
`-- loopback@2.26.2
编辑:
我尝试从 /explorer 面板和代码更新它。
在代码中 (angular) 我这样做:
Profession.prototype$updateAttributes(
{
id: toAdd[i]
},
{
categoryId: catId
});
正如我所说,所有代码都在测试服务器 运行 RDHE 上运行。 我会检查 mongo 日志,但我安装了相同的 mongo 版本并使用相同的 mongo.config
好的...所以问题出在这些模块中的一个或两个:
"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"
我刚刚安装了我知道有效的版本。