Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在不同集合中添加列_Python_Mongodb - Fatal编程技术网

Python 在不同集合中添加列

Python 在不同集合中添加列,python,mongodb,Python,Mongodb,如何使用Python将mongoDB中的一列从一个集合复制到另一个集合?文档:{ _id:Object\u id 用户名:“john” 电子邮件:“john@email.com" 年龄:24 } 现在,您需要将username列从某个collection1文档复制到collection2文档中 假设您已经与MongoDB建立了连接,我们使用db对象来进一步操作数据 我们需要使用列名获取预期的列数据 data=db.collection1.find\u one( {“电子邮件”:john@emai

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

文档:
{
_id:Object\u id
用户名:“john”
电子邮件:“john@email.com"
年龄:24
}

现在,您需要将username列从某个
collection1
文档复制到
collection2
文档中

假设您已经与MongoDB建立了连接,我们使用
db
对象来进一步操作数据

  • 我们需要使用列名获取预期的列数据

    data=db.collection1.find\u one(
    {“电子邮件”:john@email.com"},
    {“用户名”:1}
    )
    //现在,
    data
    是一个python字典,它在键
    username

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

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


  • 现在,我使用
    find_one
    来准确地收集单个数据,但如果需要收集数据列表,则只需在将这些数据插入集合时遍历该列表。

    您可以使用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); })
    

    非常感谢,请详细说明如何处理查找或数据列表。当您使用
    data=db.collection1.find({“email”:john@email.com},{“用户名”:1})
    。它给你一个字典列表。因此,您所要做的就是在数据中为d创建一个循环,并在其中传递db.users.collection2.insert_one(d)