logo头像

学如逆水行舟,不进则退!!!

文章目录

mongo中id的特殊性

本文于355天之前发表,文中内容可能已经过时。

前言

  • mysql这种关系型数据库存储数据完美的对应了我们页面的列表数据。但是有的时候我们需要存储的数据并不是这种严格的数据。
  • 比如说我们需要存储日志。因为日志是没有办法规定格式的。每个地方产生的数据结构也不是固定的。这种数据存储在mysql中就是中折磨

问题描述

  • 我们现在开发一个评论系统。但是评论的数据层级也是不固定的。这种数据如果存在数据库中操作起来很是麻烦。递归肯定是少不了了。
  • 但是如果存储在mongo中就不一样了。mongo天生就是非关系型数据库。天生存储的就是Json数据。我们可以将评论数据的json直接存储起来。
  • 但是在使用期间发现了mongo中id这个特殊的字段特殊的处理。

简介

  • mongodb一种非关系型数据库,他通过副本的方式实现数据的高可用,由于数据存储在内存中所以数据查询的特别快。这里笔者在查阅资料的时候看到并不是所有的数据都会放在内存中。而是建索引、热数据存储在内存中。

mongdb ID

  • 首先如果在插入数据时没有指定id, 那么在插入是mongo会自动生成一个ObjectId类型的id 。
  • 如果自己指定了id就会使用指定的id , 但是id名叫做_id

image-20210514164019166

  • 而且我们在查询的时候需要通过_id这个真实的名称去查找,否则查找不到。这就是mongo的一种规定。
  • 而且mongo在查询是对类型非常的敏感。图中id是int64即Long类型。所以我们查询的时候必须传一个Long类型的。如果是字符串则查不到数据

加油哦

上一篇
坚持原创技术分享,您的支持将鼓励我继续创作!

评论系统未开启,无法评论!