我需要通过 dbshell 复制(克隆)集合中的一个对象。有这样的东西:
> db.users.distinct( 'nickname' )
[
"user1",
"user2",
"user3",
"user4"
]
>
user1 在 users 集合中选择一个复杂对象,如何复制该对象然后更改(重命名)userX 中的 user1 字段?
最佳答案
代码
> user = db.users.findOne({'nickname': 'user1'})
> user.nickname = 'userX'
> delete user['_id']
> db.users.insert(user)
说明
您需要找到用户对象并将其放入变量中。比你需要修改你想要的属性,而不是你需要将整个对象作为新对象插入。为此,您需要删除对象已有的 _id
属性。而不仅仅是使用 insert
来创建新的。
关于mongodb - 如何克隆(重复)同一数据库集合中的 MongoDB 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9851005/