Mongodb-在现有集合上添加唯一索引

2024-01-16

我正在尝试学习 Mongodb 中的索引。我创建了一个数据库和一个集合,如下所示:

use mydb
db.createCollection("myFirstCollection")
one={name:"Helios"}
two={name:"Kepler"}
db.myFirstCollection.insert(one)
db.myFirstCollection.insert(two)

我能够列出我的结果如下:

db.myFirstCollection.find()
{ "_id" : ObjectId("53cde256f8807057b6bd827b"), "name" : "Helios" }
{ "_id" : ObjectId("53cde25bf8807057b6bd827c"), "name" : "kepler" }

我想在字段上添加唯一索引name。但是当我尝试时,出现以下错误

db.myFirstCollection.ensureIndex({name:1},{unique:true})

{
        "createdCollectionAutomatically" : false,
        "numIndexesBefore" : 1,
        "ok" : 0,
        "errmsg" : "E11000 duplicate key error index: mydb.myFirstCollection.$name_1  dup key: { : null }",
        "code" : 11000
}

我无法弄清楚我所犯的错误。请帮忙。


对于遇到问题的其他人,还请注意字段名称区分大小写。

因此创建索引{field1 : 1}不等于{Field1 : 1}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mongodb-在现有集合上添加唯一索引 的相关文章

随机推荐

  • QLPreviewController - 设置previewItemTitle

    我不知道如何设置 QLPreviewController 类的 PreviewItemTitle 属性 这似乎有点奇怪 因为此类的 iPhone 开发人员文档说该属性是 property readonly 这意味着我无法设置它 有任何想法吗
  • 是否可以在 Android 应用程序中使用 Neo4j 数据库?

    如果我在 Android 应用程序中使用 Neo4j 数据库 会出现任何错误吗 如果是这样 有人可以建议我任何其他图形数据库用作 Android 应用程序的后端吗 是的 尽管Neo4J提供REST API来使用Cypher语言查询数据库 h
  • 使用 JavascriptExecutor 发送密钥并单击 Web 元素

    我正在尝试在新选项卡中打开一个链接 然后在 Firefox 浏览器中使用 Java 中的 selenium 切换到该选项卡 据我了解 为了做到这一点 我需要使用发送键组合 为了在同一窗口中打开链接 我一直在使用这样的东西 WebElemen
  • 为什么我无法将node_modules文件上传到GitHub存储库?

    我有一个使用 Angular 6 编写的项目 我想将该项目上传到 GitHub 但是当我使用 GitHub Desktop 上传该项目时 除了 node modules 文件之外的所有文件都会上传 当我从 GitHub 下载项目并尝试运行时
  • JTable 中的 JSlider

    用于放置一个JSlider into a JTable我写的是AbstractCellEditor它实现了一个TableCellRendererand a TableCellEditor 它使用 0 到 100 之间的值进行初始化 我有一个
  • 使用 SIFT 搜索图像数据库

    Several https stackoverflow com questions 1612037 comparing images using sift 问题 https stackoverflow com questions 15004
  • 在模式注册表中,消费者的模式可能与生产者的模式不同,这实际上意味着什么

    在向 Kafka 生成 AVRO 数据时 Avro 序列化程序在写入数据时使用的字节数组中写入相同的架构 ID Kafka Consumer 根据接收到的字节数组中的模式 ID 从模式注册表中获取模式 因此 生产者和消费者等模式都使用相同的
  • 该操作无法完成,因为 DbContext 已使用 MVC 4 进行处置

    我知道这个问题被问了很多次 我已阅读并实施了所有解决方案 但没有取得成功 当我使用 EF 从数据库检索数据并在视图上使用此模型后与模型绑定时 出现此错误 我的控制器代码是 using System Linq using System Web
  • 卸载 32 位应用程序并安装 64 位应用程序

    是否有可能告诉 Inno Setup 卸载应用程序的 32 位版本 通常驻留在Program Files x86 以便安装 64 位版本的应用程序 通常在Program Files 如果不卸载32位版本 那么它们的bot就会在启动时启动 从
  • 创建一个列来保存连续值的运行计数

    我正在尝试创建一个列 consec 它将在另一个列 二进制 中保留连续值的运行计数 而不使用循环 这就是期望的结果 binary consec 1 0 0 2 1 1 3 1 2 4 1 3 5 1 4 5 0 0 6 1 1 7 1 2
  • MySQL A 或 B,但不能同时两者

    这似乎是一个简单的查询 但我似乎无法理解它或将其与堆栈溢出上的其他帖子联系起来 谁能解释一下 这是我到目前为止所拥有的 它正在返回一个人或两个人去过的所有酒吧的记录 TBL 常见模式 饮酒者 VARCHAR 50 PK 酒吧 VARCHAR
  • 正则表达式 - 查找具有 name 属性但不具有 id 的元素

    这个问题今天就出现在我身上了 我正在从事一个基于 Web Struts 2 的项目 其中包含大量 JSP 并且大部分input select table and a元素仅通过以下方式定义name属性 无id设置 例如
  • 绕过 org.apache.hadoop.mapred.InvalidInputException:输入模式 s3n://[...] 匹配 0 个文件

    这是我的一个问题已经问过 http apache spark user list 1001560 n3 nabble com Ignoring S3 0 files exception tt6101 html在 Spark 用户邮件列表中
  • Android:同时视频播放和录制

    我正在为 Android 开发一个类似视频聊天的应用程序 我可以同时在屏幕上录制和播放视频吗 我可以将视频相互合成 FaceTime 风格 还是必须并排放置 我可以使用 MediaPlayer 和 MediaRecorder 类还是必须使用
  • Angular 5 - 在函数中使用时 Ng-x 微调器不显示

    我不确定是否有人经历过这种情况 每当我尝试在函数中使用 ngx spinner 时 它都不起作用 但是当我将它放入订阅的回调中时 它就起作用了 在 authservice 之外 这没有显示微调器 login this spinner sho
  • Python 解释器/IronPython 解释器没有名为 clr 的模块

    我正在使用 IronPython 我想创建一些窗口窗体 我想创建一个带有一些按钮的 Windows 窗体 并且我想在 Visual Studio 中使用 Iron Python 来执行此操作 我使用的是Visual Studio 2012集
  • 更新推送通知的实时应用程序 ID

    我在 App Store 中有一个应用程序 它有一个通配符应用程序 ID 我想向其添加推送通知 但不能 因为我们有通配符应用程序 ID 这是我得到的错误 只有显式应用程序 ID 才能用于访问 Apple 推送通知服务 请使用具有特定捆绑包标
  • 用新行替换字符

    Powershell ver 4 Windows 7 我想更换 在文本文件中添加新行 我尝试了下面的脚本 Get Content C Test test txt Replace n Set Content C Test testv2 txt
  • isset() 在表单上无法正常工作

    我有一个用户提交的注册表单 使用 isset POST 发送数据以查看是否有任何内容放入表单输入框中 如果没有 则将其发送到 else 然后将其发送到一个函数 该函数将用户返回到注册表以完成一些缺少的表单 由于某种原因它无法正常工作 这是我
  • Mongodb-在现有集合上添加唯一索引

    我正在尝试学习 Mongodb 中的索引 我创建了一个数据库和一个集合 如下所示 use mydb db createCollection myFirstCollection one name Helios two name Kepler