[英]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({name:“ 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面板和代碼更新它。
在代碼(角度)中,我這樣做:
Profession.prototype$updateAttributes(
{
id: toAdd[i]
},
{
categoryId: catId
});
正如我所說,所有代碼都可以在運行RDHE的測試服務器上運行。 我將檢查mongo日志,但我安裝了相同的mongo版本並使用相同的mongo.config
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"
我剛剛安裝了我知道可以使用的版本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.