簡體   English   中英

回送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({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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM