在其他集合中添加列

时间:2018-07-10 06:10:48

标签: python mongodb

如何使用Python将一列从一个集合复制到mongoDB中的另一个集合?

2 个答案:

答案 0 :(得分:0)

文档:{ _id: Object_ID username: "john" email: "john@email.com" age: 24 }

现在,您想为此将用户名列从某些collection1的文档复制到collection2的文档中,

假设您与MongoDB建立了连接,我们使用db对象进行进一步的数据处理。

  1. 我们需要获取具有列名的预期列数据

    data = db.collection1.find_one( {"email": "john@email.com"}, {"username": 1} ) //现在data是一个Python字典,其中包含键username上的用户名值

  2. 现在我们将在另一个集合中创建一个新文档(或者,如果您愿意,我们可以根据某些条件更新该数据)

    db.users.collection2.insert_one(data) //因此,我们将包含该数据的新文档存储在collection2中

现在,我在这里使用find_one来精确地收集单个数据,但是如果您需要收集数据列表,则只需遍历该列表,然后将这些数据插入到集合中即可。

答案 1 :(得分:0)

您可以将forEach与find一起使用以获取所需的所有文档,然后保存到新记录。 以同一文档为例

{  
  username: "john",
  email: "john@email.com",
  age: 24
}

您可以尝试

db.collection_name.find({ username:"john" },{ _id: 0, username: 1 }).forEach((res) => { db.new_collection_name.insert(res); })