mongodb中的ObjectId是常量吗?

时间:2017-05-04 20:23:29

标签: mongodb

mongodb中的ObjectId是常量还是可以在创建文档后更改?

可以更新或任何其他操作更改吗?

对于几个文档,我的ObjectId似乎已经改变了,我无法弄清楚原因。

2 个答案:

答案 0 :(得分:0)

不,_id字段(如果这是ObjectId的意思)是只读的。当然,ObjectId类型的其他字段是完全可变的。

  

对于几个文档,我的ObjectId似乎已经改变了,我无法弄清楚原因。

不可能。但是,您可以创建文档,该文档是另一个文档的副本,具有所有相同的字段,但ID不同。然后删除原始文档。 Et voila,文档出现以更改ID。

检查你的代码,也许会发生这种情况。

答案 1 :(得分:0)

您的对象ID绝对无法更改。

原因是因为对象ID是在以下内容上创建的: 年 , 月, 日期, 小时,
分钟,
秒。 所以,绝对没有方法可以改变你的_id。

此外,请参阅following,您甚至无法更新对象ID。它由mongoDb为每次插入创建。