我的应用程序使用SQL Server和MongoDB。为了链接双方的记录/文档,我考虑使用SQL的BigInt
值(C#中的Int64
)来代替MongoDB的_id。此BigInt
值是从SQL Server Identity
列生成的。我认为它很完美。
然而,在这个帖子中Is it bad to change _id type in MongoDB to integer?
有人提到MongoDB在插入之前必须检查它的唯一性。因此,如果使用ObjectId.GenerateNewId()
,MongoDB不会检查唯一性吗?
答案 0 :(得分:0)
Mongodb确实检查id的唯一ID,即使它的ObjectId类型。
创建新集合时,它会自动在_id字段上显示唯一索引。
_id Field Index
MongoDB创建_id索引,这是一个升序唯一索引 _id字段,用于创建集合时的所有集合。您 无法删除_id字段上的索引。
此规则的例外是上限集合,但没有这个
索引
由于Stennie发现MongoDb2.2 +中的上限集合有_id字段索引