Mongodb更新很多

时间:2016-01-27 12:35:24

标签: node.js mongodb

我正在使用express js和npm模块mongodb开发,mongodb作为数据库。我有两个系列,即#34;用户"和"活动"。用户可以进行1000次活动。

  1. 首先我将用户的id,name和picture url存储到 关系的活动文件。如果这是错误的请告诉我 关系并建议存储关系的东西。

  2. 其次我现在面临的问题是我更新用户的名字 它没有在用户的活动中更新(即 明显)。我想要一些示例,以便我可以一次更新许多文档 使用用户ID。

  3. 请帮助以上。 提前谢谢。

2 个答案:

答案 0 :(得分:1)

  1. 这是典型的一对多关系。因此,对于用户,您可以使用以下架构:
  2. 
    
    //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"
    }
      
    
    
    

    1. 如果您要更新许多活动文档:
    2. 
      
      db.activities.update({ userId: '56a5eccb2258799919dc2c40' }, { 
          $set: {
            description: 'new description'
          } 
        },
        {
          multi: true //means update all matching docs
        });
      
                    
      
      
      

答案 1 :(得分:0)

您应该只在活动中存储用户的_id。然后使用它通过活动访问用户(如果这是你想要做的)。