【发布时间】:2021-12-11 01:43:55
【问题描述】:
我正在使用 MongoDB 并试图克隆一个文档,但我一生都无法弄清楚 - 令我沮丧的是,我知道这可能确实很简单,但似乎我的大脑已经阻塞,所以这里是:
我正在尝试自动化一个过程,该过程涉及克隆我的 Mongo 数据库的 users 集合中的文档。流程是这样的:
- 使用电子邮件
testing@company.com克隆用户 - 修改一些属性(电子邮件、姓名等)并保存新文档
基本上,我只是在尝试做 MongoDB Compass 中“克隆文档”按钮所做的事情,但无法弄清楚。
我的问题是,当我尝试在 python 中执行此操作时,当我调用 await db().save(user) 时,我的 testing_user 一直被覆盖。我考虑过创建一个空白的新user 并手动添加属性,但我确信必须有更好的方法来做到这一点。我所有的谷歌搜索都返回了关于克隆整个数据库或集合的点击,有人知道更好的方法吗?
我的(不起作用的)脚本中的相关行:
testing_user = await db().find_one(User, User.email == "testing@company.com")
new_user = testing_user
new_user.attr1 = "foo"
new_user.attr2 = "bar"
await db().save(new_user)
【问题讨论】: