2016-01-27 98 views
-1

我正在開發使用快速js和npm模塊mongodb與mongodb作爲數據庫。我有兩個集合,即「用戶」和「活動」。用戶的活動可能有1000次。Mongodb更新許多

  1. 首先我存儲的ID,名稱和用戶轉化爲關係 活動文檔的圖片路徑。請告訴我,如果這是 關係錯誤,並建議存儲關係的東西。

  2. 其次我現在面臨的問題是,當我更新用戶的名字 它不會在用戶的活動(這是
    明顯)得到更新。我想要一些示例,以便我可以使用用戶標識一次更新許多文檔 。

請幫助上述。 在此先感謝。

+3

您能否在您的案例中添加一些代碼示例? – zangw

+0

我相信我需要一個代碼示例。我沒有爲此做任何代碼。我只需要在mongodb的一個集合中同時更新許多文檔。如果我有一些參考鏈接,這將是非常好的。 –

回答

1
  1. 這是典型的一對多關係。所以在用戶的​​情況下,你可以有以下模式:

//User 
 
{ 
 
    //_id: ObjectId - this one is unique and inserted to every document by default 
 
    profile: String, 
 
    ... 
 
} 
 
    
 
//Activity 
 
{ 
 
    description: String, 
 
    ..., 
 

 
    userId: String, // referecing the user _id, e.g. "56a5eccb2258799919dc2c40" 
 
} 
 

  • 如果要更新活動的許多文檔:
  • db.activities.update({ userId: '56a5eccb2258799919dc2c40' }, { 
     
        $set: { 
     
         description: 'new description' 
     
        } 
     
        }, 
     
        { 
     
        multi: true //means update all matching docs 
     
        }); 
     
    
     
          

    +0

    謝謝。完美的答案。 –

    0

    您應該只在活動中存儲用戶的_id。然後使用它通過活動訪問用戶(如果這是你想要做的)。