• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >MongoDB > mongodb sparse &unique

mongodb sparse &unique

作者:kaojistream 字体:[增加 减小] 来源:互联网 时间:2017-09-29

kaojistream通过本文主要向大家介绍了mongodb,mongoose,unique等相关知识,希望本文的分享对您有所帮助

错误大致如下:MongoError: E11000 duplicats key error index: xxx$user_1 dup key: { : null}

意思很明显,插入的key对应的value值已经存在,但是疑惑的地方就在于,这个值是null,null为什么会重复?

原因就在于user这个key使用了unique的属性,for exmale:

let schema=new Schema({

user:{type:String,unique:true}

});

当创建文档的时候如果不添加user这个key,就会被赋一个默认值null,而这个null只能存在一个,再次创建一个user为null的时候就会报上面的错误。

难道没有解决办法了吗?不,聪明的mongodb考虑到了,于是提供了sparse属性,这两个搭配使用就可以解决这个问题。

mongodb sparse

官方文档:An index that is both sparse and unique prevents collection from having documents with duplicate values for a field but allows multiple documents that omit the key.

于是这样使用:

let schema=new Schema({

user:{type:String,unique:true,sparse:true}

});

如果key不是必须唯一的建议不使用unique属性。

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • MongoDB学习之Text Search文本搜索功能
  • MongoDB数据更新方法干货篇
  • MongoDB数据查询方法干货篇
  • MongoDB的索引
  • MongoDB的查询方法
  • MongoDB的基础知识简介
  • MongoDB的下载、安装与部署方法
  • MongoDB的创建、更新和删除
  • mongodb 数据类型(null/字符串/数字/日期/内嵌文档/数组等)
  • mongodb 修改器($inc/$set/$unset/$push/$pop/upsert)

相关文章

  • 2017-05-11MongoDB中连接字符串的编写
  • 2017-05-11mongodb 随机获取一条记录的方法
  • 2017-05-11MongoDB入门教程之细说MongoDB数据库的增删查改操作
  • 2017-05-11mongodb eval 执行服务器端脚本
  • 2017-05-11MongoDB入门教程之索引操作浅析
  • 2017-05-11MongoDB 常用命令总结
  • 2017-05-11MongoDB单表数据的导出和恢复实例讲解
  • 2017-05-11MongoDB在不同主机间复制数据库和集合的教程
  • 2017-05-11mongodb 实现远程连接
  • 2017-05-11阿里云CentOS7安装Mongodb教程

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • window平台安装MongoDB数据库图文详解
    • MongoDB性能优化及监控
    • MongoDB错误32-bit servers don't have journaling enabled by default解决方法
    • MongoDB 学习笔记(一)-MongoDB配置
    • MongoDB数据查询方法干货篇
    • mongodb中使用distinct去重的简单方法
    • mongodb错误tcmalloc: large alloc out of memory, printing stack and exiting解决办法
    • mongodb中随机获取1条记录的实现方法
    • 关于NoSQL之MongoDB的一些总结
    • MongoDB数据更新方法干货篇

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有