Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 为什么NoSQL数据库不支持唯一约束_Database_Mongodb_Nosql - Fatal编程技术网

Database 为什么NoSQL数据库不支持唯一约束

Database 为什么NoSQL数据库不支持唯一约束,database,mongodb,nosql,Database,Mongodb,Nosql,我使用MongoDB已经有一段时间了,我注意到MongoDB和许多NoSQL数据库不支持唯一的键约束作为第一类功能 默认情况下,每个文档中MongoDB的\u id字段是唯一的。但是,如果需要使文档中的另一个字段唯一,方法是通过uniqueindex 一般来说,在NoSQL数据库中支持唯一键约束的基本问题是什么 如果在NoSQL DBs中使用唯一键存在根本性问题,那么在MongoDB中创建唯一索引以实现此要求是否存在问题?在MongoDB中,您可以在两个字段上创建唯一约束: db.members

我使用MongoDB已经有一段时间了,我注意到MongoDB和许多NoSQL数据库不支持唯一的键约束作为第一类功能

默认情况下,每个文档中MongoDB的
\u id
字段是唯一的。但是,如果需要使文档中的另一个字段唯一,方法是通过
uniqueindex

一般来说,在NoSQL数据库中支持唯一键约束的基本问题是什么


如果在NoSQL DBs中使用唯一键存在根本性问题,那么在MongoDB中创建唯一索引以实现此要求是否存在问题?

MongoDB
中,您可以在两个字段上创建唯一约束:

db.members.createIndex( { "user_id": 1 }, { unique: true } )
和多个字段:

db.members.createIndex( { groupNumber: 1, lastname: 1, firstname: 1 }, { unique: true } )
您也可以在分片集群上创建唯一索引。最好检查一下官员,因为有很多例子(也有局限性)


如果您在创建唯一约束时遇到任何问题,请告诉我。

您的问题是什么?唯一键约束由唯一索引提供,就像关系数据库一样。我不知道关系数据库也使用索引来实现这一点。那么,这是否意味着在NoSQL数据库中支持唯一键没有问题?当数据库是分布式的时,这有什么缺点吗?