小编aro*_*z90的帖子

将数据从一个集合复制到另一个集合时,_id字段是否会在MongoDB中更改?

我们计划使用MongoDB _id作为我们将提供给客户端的密钥.因此,要求是如果我们需要将数据从一个集合移动到另一个集合,则不应更改此密钥.将使用db.copyDatabase()或mongoimport执行该副本.

将数据从一个集合复制到另一个集合的方法之一是迭代第一个集合(C1)中的文档并将这些文档插入第二个集合(C2).在这种情况下,_id应保持相同(在C2中),因为它将出现在插入的文件(C1中)中(与我们自己提供_id的情况相同).

但是,如果存在另一种复制文档的方式,则_id可能会更改,因为它取决于:

(1)UNIX时间戳(2)机器标识符(3)ProcessId

(**只有在复制时MongoDB从C1中的文档中删除_id并在插入C2时重新生成它时才会发生这种情况?)

无论目标集合的位置如何,我们都希望_id值相同:(1)在同一个数据库中(2)不同的数据库 - 同一台机器(3)不同的数据库 - 不同的机器)

谢谢

mongodb mongo-shell mongodb-query

0
推荐指数
1
解决办法
1098
查看次数

标签 统计

mongo-shell ×1

mongodb ×1

mongodb-query ×1