当同一个变量被连续插入两次会出现id相同的异常,但是同样内容的两个变量同时插入不会有问题,可能是同一个变量同一个地址生成id相同,导致异常。

  默认登陆不需要用户名密码认证,需要密码认证登陆需要在admin数据库user集合添加用户,并且以需要认证的方式启动,mongodb --auth,如果初始没有添加用户以该方式启动依然可以随意登陆,因为如果不这样就会无法登陆。
  添加超级用户后直接访问别的数据(mongo dbbaes),依然无法访问,超级用户可以登录admin后再访问别的任何数据库,而无法直接访问别的数据库,可以用超级用户给其他数据库添加用户,方式一样,需要先进入对应数据库。
  每条记录会有一个主键_id,可以自己设置可以默认系统的,不能重复。
  程序插入记录时,同一个对象如果被同一次内插入了两次,则会报错,主键重复,但是内容可以重复。
  非认证方式启动,用不用用户名密码都可以访问,不能用错的。
  另外非正常情况下链接不报错,但执行具体的操作就会报错,具体原因没有深查。
  认证方式启动必须用户名密码登陆。

  mongodb在某个不正当操作下会导致操作某个集合报 SyntaxError: Unexpected token ILLEGAL 的错误,无论查询删除皆是如此,但是用js代码的方式可以解决; 例如 var c =db.getCollection(‘player’);c.drop();

mongodb设计模式:
  优先考虑内嵌:比如一个人有几个手机号,这种对应数据少的情况下用内嵌足以;比如一个人有几个手机号,这种对应数据少的情况下用内嵌足以;
  后考虑引用:但是如果是一个明星对应几万条留言,则考虑引用,因为内嵌在一个文档里会超过16M限制。这个时候你可以考虑使用引用的方式,在主表里存储一个id值,指向另一个表中的 id 值。
  使用引用要注意的就是:从性能上讲,一般我们可能需要两次以上才能把需要的数据取回来。更加重要的是:需要把数据存放到两个集合里,但是目前为止MongoDB并不支持跨表的事务性,所以对于强事务的应用场景要谨慎使用。

mongodb索引:
  mongodb有一个TTL索引,定义在date类型或者数组中有date类型的单字段上,可以用来删除过期数据。

  mongodb集合添加一个字段 db.000001_DAY.update({}, {$set: {sid: 4}}, {multi: 1})

linux安装mongodb
  curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz 下载
  tar -zxvf mongodb-linux-x86_64-3.0.6.tgz 解压
  mv mongodb-linux-x86_64-3.0.6/ /usr/local/mongodb 移动到指定目录
  export PATH=/data/mongodb/mongodb-linux-x86_64-3.0.6/bin:$PATH 添加path路径
  mkdir -p /data/db 创建mongodb默认的启动数据库路径

  数据库用户角色:read、readWrite;
  数据库管理角色:dbAdmin、dbOwner、userAdmin;
  集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
  备份恢复角色:backup、restore;
  所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
  超级用户角色:root
  // 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
  内部角色:__system

MongoDB个人简单总结的更多相关文章

  1. NOSQL -- Mongodb的简单操作与使用(win10)

    NOSQL -- Mongodb的简单操作与使用(wins) MongoDB 创建集合: db.createCollection(name, options) use huhu db.createCo ...

  2. NOSQL -- Mongodb的简单操作与使用(wins)

    NOSQL -- Mongodb的简单操作与使用(wins) 启动mongodb: 1.首先启动服务 dos命令下:net start Mongndb 也可以查询服务,手动开启服务: 完成后: 2.启 ...

  3. Linux系统下MongoDB的简单安装与基本操作

    这篇文章主要介绍了Linux系统下MongoDB的简单安装与基本操作,需要的朋友可以参考下   Mongo DB ,是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式,备 ...

  4. express+mongodb+mongoose简单入门

    mongodb安装 window安装方法就不讨论了,比较简单~我们来看一下在linux下面的安装步骤~(这里需要一点linux的简单命令知识哈) 1.下载文件到服务器(先创建好自己想安装的目录)~ c ...

  5. 基于node+koa2+mongodb实现简单的导航管理系统

    基于node+koa2+mongodb实现简单的导航管理系统 项目说明 本项目gitbub地址 https://github.com/xuess/nav-admin,喜欢请star 基于node 实现 ...

  6. MongoDB最简单的入门教程之二 使用nodejs访问MongoDB

    在前一篇教程 MongoDB最简单的入门教程之一 环境搭建 里,我们已经完成了MongoDB的环境搭建. 在localhost:27017的服务器上,在数据库admin下面创建了一个名为person的 ...

  7. MongoDB最简单的入门教程之三 使用Java代码往MongoDB里插入数据

    前两篇教程我们介绍了如何搭建MongoDB的本地环境: MongoDB最简单的入门教程之一 环境搭建 以及如何用nodejs读取MongoDB里的记录: MongoDB最简单的入门教程之二 使用nod ...

  8. MongoDB最简单的入门教程之四:使用Spring Boot操作MongoDB

    Spring Boot 是一个轻量级框架,可以完成基于 Spring 的应用程序的大部分配置工作.Spring Boot的目的是提供一组工具,以便快速构建容易配置的Spring应用程序,省去大量传统S ...

  9. MongoDB最简单的入门教程之五-通过Restful API访问MongoDB

    通过前面四篇的学习,我们已经在本地安装了一个MongoDB数据库,并且通过一个简单的Spring boot应用的单元测试,插入了几条记录到MongoDB中,并通过MongoDB Compass查看到了 ...

  10. MongoDB + node-mongoskin简单演示样例

    特点 无模式 MongoDB 中的每一条文档,都是一个 JSON 对象,因此你无需提前定义一个集合的结构,集合中的每一个文档也能够有不同的结构. 异步写入 MongoDB 默认全部的写操作都是『不安全 ...

随机推荐

  1. freemarker动态生成word并将生成的word转为PDF,openoffice转换word乱码

    之前项目有个需求,需要先动态生成word内容,然后再预览生成word的内容(不能修改).整理一下,方便以后使用. 网上参考了好多大神的博客.具体也忘了参考谁的了,如有侵权,请告知修改. 思路一: 将目 ...

  2. A项目轶事之加入项目2个月

    A项目轶事之加入项目2个月 4月18号是我入A项目整整2个月的日子. 加入项目第一天,就发现A项目是一个大规模的SAP ERP项目. SAP各大模块,Salesforce, MES等各个系统相关的顾问 ...

  3. 分布式之 BASE理论

    ------------------------------珍惜眼前的学习机会,当你现在有机会学习各种经验时,一定要倍加珍惜.靠混日子是混不了一辈子的,许多过程都是不能省略的,至少学会这些经验可以让你 ...

  4. java配置环境及安装

    1.安装JDK开发环境 首先登陆https://www.oracle.com 第一步:Products ---- Java ---- Download java(JDK) for Developers ...

  5. .NET Core微服务之基于IdentityServer建立授权与验证服务(续)

    Tip: 此篇已加入.NET Core微服务基础系列文章索引 上一篇我们基于IdentityServer4建立了一个AuthorizationServer,并且继承了QuickStartUI,能够成功 ...

  6. LogcatHelperDemo【应用log信息保存成本地文件】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 简单记录下LogcatHelper的使用,并对原有代码进行了修改[因为保存到应用内的目录中不需要申请权限,所以去掉保存到SD的功能- ...

  7. ES 07 - Elasticsearch查询文档的六种方法

    目录 1 Query String Search(查询串检索) 2 Query DSL(ES特定语法检索) 3 Query Filter(过滤检索) 4 Full Text Search(全文检索) ...

  8. 知识小罐头04(idea+maven+部署war包到tomcat 下)

    上一节新建了一个基本的maven web环境,现在最快速度新建一下springmvc环境! 1.最快搭建springmvc环境 什么叫做最快,当然是怎么简单怎么来啦!由于内容都是很熟悉的东西,serv ...

  9. 并发系列(6)之 ThreadPoolExecutor 详解

    本文将主要介绍我们平时最常用的线程池 ThreadPoolExecutor ,有可能你平时没有直接使用这个类,而是使用 Executors 的工厂方法创建线程池,虽然这样很简单,但是很可能因为这个线程 ...

  10. Javascript中双等号(==)隐性转换机制

    在Javascript中判断相等关系有双等号(==)和三等号(===)两种.其中双等号(==)是值相等,而三等号(===)是严格相等(值及类型是否完全相等). 因此有几个常识知识: 1.对于strin ...