_id
字段是为 mongodb
中的primary key 保留的。但是为什么mongodb
是这样设计的呢?我可以自己定义主键吗?
最佳答案
是的,您可以为您的收藏定义您自己的主键。请注意,MongoDB 驱动程序会自动生成唯一的 _id 值;但是,您可以覆盖此 _id 值:
例如。 db.yourcollection.insert({_id:"myuniquevalueN",a:1,b:1})
您还可以创建强制唯一性的二级索引。引用以下: http://docs.mongodb.org/manual/tutorial/create-a-unique-index/
我不确定我是否理解您问题的原因部分。正如您提到的 _id 是一个主键,用于确保文档在集合中的唯一性,以及一种通过唯一 ID 检索文档的方法。它的用途与其他数据库中的主键没有什么不同。为什么要预先定义?部分原因是,如果您没有为此目的指定一个对象 ID,MongoDB 会自动为您分配一个唯一的对象 ID 值。拥有一个标准的 _id 字段可以简化实现。
关于mongodb - 为什么我们不能在mongodb中自己定义主键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17824581/