创建集合

use person //创建数据库或进入数据库
db.createCollection(table_name)

主键

插入数据时会自动生成主键,保证每条数据唯一性

  1. 生成对象主键
> ObjectId()
ObjectId("6163fb2ffaca91ed57d6c202")

2.查询ObjectId的创建时间

> ObjectId("6163fb2ffaca91ed57d6c202").getTimestamp()
ISODate("2021-10-11T08:51:59Z")

3.ObjectId类型

ObjectId类型是一个12个字节字符串

6163fb2f - faca9 1 - ed57 - d6c202

  • 4字节是存储这条数据的时间戳
  • 3字节是存储这条数据电脑的标识符
  • 2字节是存储这条数据的MongoDB进程id
  • 3字节是计数器

    4.主键值为什么不是自增长

    因为MongoDB是支持横向扩展的数据库,分布式数据库

    a)横向扩展是指增加数据库服务器的台数

    b)纵向扩展是指增加数据库服务器的配置

:除了数组类型,其它类型数据都可作为主键

db.person.insert({_id:1})

db.person.insert({_id:”2”})

5.5)复合主键

可以使用文档作为文档主键

db.test.insert(

{

_id:{accountNo:”001”,type:”savings”},

name:”irene”,

balance:80

}

)

注:主键是唯一的,相同的文档主键在次插入会报错,但文档中的字段顺序不同则插入成功

monogo-shell的更多相关文章

  1. Shell替换

    如果表达式中包含特殊字符,Shell 将会进行替换.例如,在双引号中使用变量就是一种替换,转义字符也是一种替换. #!/bin/bash a= echo -e "Value of a is ...

  2. Shell特殊变量

    $ 表示当前Shell进程的ID,即pid $echo $$ 运行结果 特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数.n 是一个数字,表示第几个参数.例如,第一个参数 ...

  3. shell变量

    定义变量 定义变量时,变量名不加美元符号($),如: variableName="value" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样.同时,变量名 ...

  4. 第一个shell脚本

    打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好. #!/bin/bash echo "Hello World !" &quo ...

  5. shell简介

    Shell作为命令语言,它交互式地解释和执行用户输入的命令:作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支. shell使用的熟练程度反映了用户对U ...

  6. Shell碎碎念

    1. 字符串如何大小写转换 str="This is a Bash Shell script." 1> tr方式 newstr=`tr '[A-Z]' '[a-z]' < ...

  7. MongoDB学习笔记二—Shell操作

    数据类型 MongoDB在保留JSON基本键/值对特性的基础上,添加了其他一些数据类型. null null用于表示空值或者不存在的字段:{“x”:null} 布尔型 布尔类型有两个值true和fal ...

  8. 使用C#给Linux写Shell脚本

    在这个逼格决定人格,鄙视链盛行的年头,尤其是咱们IT界,请问您今天鄙视与被鄙视的次数分别是多少?如果手中没有一点压箱的本事,那就只有看的份了.今天我们也要提升下自己的格调,学习些脑洞大开的东西,学完之 ...

  9. Linux环境下shell和vim中乱码原因及消除办法

    shell和vim中乱码原因及消除办法 作者:Jack47 在Linux下开发,经常遇到乱码问题:shell或者vim中显示不了中文,或者能够显示,但不能输入中文.每次都是上网去搜,或者同事告诉我一些 ...

  10. 【说解】在shell中通过mkfifo创建命名管道来控制多个进程并发执行

    背景: 工作中有两个异地机房需要传数据,数据全名很规范,在某个目录下命名为统一的前缀加上编号.如/path/from/file.{1..100}.而机房间的专线对单个scp进程的传输速度是有限制的,比 ...

随机推荐

  1. [转载]Linux关于磁盘操作命令

    一.查看篇 1.1.du : 查看文件和 目录的使用空间 语法: du [参数]  [文件或目录] 参数 说明 -a 列出所有的文件与目录容量. -h 以G.M.K为单位,返回容量. -s 列出总量. ...

  2. mybatis判断是否为空或null

    <if test="catagoryCode != null and catagoryCode != ''"> AND train.CATAGORY_CODE = #{ ...

  3. kuangbin学习

    是有针对性的对于算法的训练 我试试QAQ

  4. window JAVA 环境变量配置

    java win环境变量配置1.安装的时候拷贝出,安装目录C:\Program Files\Java\jdk1.8.0_40\2.在系统变量中,点击"新建",弹出窗口后在变量名输入 ...

  5. Fiddler功能详解

    编写完成日期:2021-11-22 一.原理以及注意事项 Fiddler工作原理:Fiddler 本质是一个Web代理服务器,Web 代理(Proxy Server)服务器是网络的中间实体.如上图所示 ...

  6. 基于Sobel算子的图像边缘检测

    索贝尔算子(Sobeloperator)主要用于获得数字图像的一阶梯度,是一种离散性差分算子.它是prewitt算子的改进形式,改进之处在于sobel算子认为,邻域的像素对当前像素产生的影响不是等价的 ...

  7. 蓝桥杯训练赛二-2021 问题 G: 坐标排序

    题目描述 请将坐标x,y,z依照以下规则排序: x为第一关键字,当x相同时,依照y(第二关键字)大小来排序,当y相同时,依照z大小来排序(第三关键字) 给出了若干坐标,和一个数k,请输出按关键字排序第 ...

  8. gitlab+jenkins配置自动触发构建

    1.jenkins安装gitlab插件 2.启动gitlab容器 docker run -itd -v /opt/gitlab/etc:/etc/gitlab -v /opt/gitlab/log:/ ...

  9. Kubernetes学习笔记(二)

    [查看pod里container的logs] kubectl logs nginx --all-containers=true                  #Return snapshot lo ...

  10. kafka监控系统kafka eagle安装和使用

    一.kafka eagle介绍 kafka eagle 是一款由国内公司开源的Kafka集群监控系统,可以用来监视kafka集群的broker状态.Topic信息.IO.内存.consumer线程.偏 ...