06、MongoDB -- MongoDB 基本用法(删除文档、查询文档、查询运算符)

news2024/11/24 20:09:15

目录

  • MongoDB 基本用法
    • 演示前提:
      • 登录单机模式的 mongodb 服务器命令
      • 登录【admin】数据库的 mongodb 客户端命令
      • 登录【test】数据库的 mongodb 客户端命令
    • 删除文档
      • 语法格式
      • 两个变体版本:
      • 1、remove:根据【name】字段删除一条文档
      • 2、deleteOne:根据【name】字段删除一个文档
      • 3、remove:根据【price】删除多条符合条件的文档
      • 4、deleteMany:根据【price】字段删除多条符合条件的文档
    • 查询文档
      • 添加测试数据
      • 语法格式:
      • 1、查询该集合所有的文档
        • 命令
        • 查询结果
      • 2、查询价格大于500的文档
        • 命令
        • 查询结果
      • 3、查询价格大于500的,且【type】为【小说】的文档
        • 命令
        • 命令解释
        • 查询结果
      • 4、查询价格大于900的,或 type为【漫画】的文档
        • 命令
        • 命令解释
        • 查询结果
      • 5、只查询价格大于800的,或 type为【动漫】的name字段、包括_id字段
        • 命令
        • 命令解释
        • 查询结果
      • 6、只查询价格大于800的,或 type为【动漫】的name字段、不包括_id字段
        • 命令
        • 命令解释
        • 查询结果
      • 官方文档查看支持的查询运算符
      • 查询运算符
        • 范围运算符
          • 1、$in:查询 name 为 "家庭教师" 或 "火影忍者 " 的文档
            • 命令:
            • 查询结果:
          • 2、$nin:查询 name 不为 "家庭教师" 或 "火影忍者 " 的文档
            • 命令:
            • 查询结果
        • 逻辑运算符
          • 3、$not:查询 type 不为【小说】的文档
            • 命令:
            • 查询结果:
          • 4、$not:查询 type 不包含【说】的文档(使用正则表达式)
            • 命令:
            • 查询结果:
        • 元素相关运算符
        • 计算相关运算符
        • 全文检索相关运算符
          • 5、查询必须有name字段、且有price字段,且name字段为string类型、price字段的值为int类型
            • 命令:
            • 查询结果:
          • 6、$regex:查询 type 包含 【漫】的文档
            • 命令
            • 查询结果
        • 数组相关的运算符
          • 添加测试数据
          • 7、$all:查询所有 prices 字段中包含 400 和 500 的值
            • 命令:
            • 查询结果
          • 8、$all:查询所有 prices 字段中包含 500 和 600 的值
            • 命令:
            • 查询结果
          • 9、$all:查询所有 prices 字段中包含 500 和 1000 的值
            • 命令:
            • 查询结果
          • 10、$elemMatch:查询所有 prices 中任一元素大于600
            • 命令:
            • 查询结果:
          • 11、$elemMatch:查询所有 prices 中任一元素大于800
            • 命令:
            • 查询结果:
          • 12、$size:查询 prices 数组 包含 5 个元素
            • 命令:
            • 查询结果:
          • 13、$size:查询 prices 数组 包含 3 个元素
            • 命令:
            • 查询结果:

MongoDB 基本用法

演示前提:


登录单机模式的 mongodb 服务器命令

mongod.exe --config "E:\install\mongodb\mongodb-4.2.25\mongod.conf"

在这里插入图片描述


登录【admin】数据库的 mongodb 客户端命令

mongo mongodb://192.168.0.107:27017/admin -u admin -p 123456

在这里插入图片描述


登录【test】数据库的 mongodb 客户端命令

mongo mongodb://192.168.0.107:27017/test -u LJHAAA -p 123456

在这里插入图片描述


往集合中插入文档、更新文档


删除文档


语法格式


db.collection集合名.remove(
   <filter>,     指定删除条件
   <justOne>    是否只删除一条,默认为 false
)

db.collection名.remove(
   <filter>,
   {
     justOne: <boolean>,
     writeConcern: <document>,
     collation: <document>
   }
)

两个变体版本:

db.collection.deleteMany() - 删除符合条件的文档,相当于< justOne > 为 false。

db.collection.deleteOne() - 删除符合条件的文档,相当于< justOne > 为 true


1、remove:根据【name】字段删除一条文档

这里有两个文档的【name】都是【火影忍者】,
现在删除 【name】字段为 【火影忍者】的文档,【true】表示指删除一条文档

在这里插入图片描述


删除命令:

db.books.remove({name:"火影忍者""}, true);

{name:“火影忍者”} 这个是删除条件,相当于 sql 的 where 条件
true 表示只删除一条文档


在图形界面执行删除命令:

在这里插入图片描述


删除结果:

成功删除一条【name】为【火影忍者】的数据,还剩一条。

在这里插入图片描述


2、deleteOne:根据【name】字段删除一个文档


再随便添加 3 个文档用来测试

db.books.insert([{"name":"蜡笔小新",type:"动漫"},{"name":"家庭教师",price:158},{"name":"家庭教师",price:1558,type:"动漫"}])

在这里插入图片描述


测试数据:

在这里插入图片描述


删除命令:

deleteOne 的删除命令相当于< justOne > 为 true,不需要在命令中指定< justOne >为 true:

db.books.deleteOne({name:"蜡笔小新"});

在图形界面执行删除命令:

在这里插入图片描述


删除结果:

两条【蜡笔小新】的文档被删除掉一条,只剩下一条。

在这里插入图片描述


3、remove:根据【price】删除多条符合条件的文档

在这里插入图片描述

删除掉 【price】价格大于 【130】 的文档,现在有两个文档符合匹配条件


命令:

db.books.remove({price: {$gt: 130}}, false);

{price: {$gt: 50}} 这个是查询条件,表示匹配 price 的值 大于 50 的文档
false 表示删除多条符合条件的文档


在图形界面执行删除命令:

在这里插入图片描述


成功删除多个符合条件的文档

在这里插入图片描述


4、deleteMany:根据【price】字段删除多条符合条件的文档

用【deleteMany】删除掉【price】大于【50】的符合条件的多个文档
在这里插入图片描述


命令:

db.books.deleteMany({price: {$gt: 50}})

在图形界面执行删除命令:

在这里插入图片描述


执行结果:

删除多个符合条件的文档成功

在这里插入图片描述


上面 writeConcern 与 insert() 方法中的 writeConcern 支持的选项完全相同。

在这里插入图片描述


collation 选项支持如下选项值:

{
   locale: <string>,
   caseLevel: <boolean>,
   caseFirst: <string>,
   strength: <int>,
   numericOrdering: <boolean>,
   alternate: <string>,
   maxVariable: <string>,
   backwards: <boolean>
}

remove() 方法 或 deleteOne、deleteMany() 方法最关键的部分就是 filter 的写法。它的写法也是非常丰富。下面查询文档时再来介绍 filter 的写法。



查询文档


添加测试数据

添加一些文档用来测试

db.books.insert([
    {"name":"家庭教师",price:100,type:"动漫"},
    {"name":"蜡笔小新",price:200,type:"动漫"},
    {"name":"火影忍者",price:300,type:"动漫"},
    {"name":"七龙珠",price:400,type:"动漫"},
    {"name":"哆啦A梦",price:500,type:"动漫"},
    {"name":"神奇宝贝",price:600,type:"动漫"},
    {"name":"一人之下",price:700,type:"漫画"},
    {"name":"完美世界",price:800,type:"小说"},
    {"name":"遮天",price:900,type:"小说"},
    {"name":"圣墟",price:1000,type:"小说"}
])

测试数据:

在这里插入图片描述


语法格式:


db.collection.find( filter ,  projection )

filter 就是查询条件,和前面更新文档、删除文档中的 filter 参数的格式相同。

project 就是一个形如 {字段1: 0, 字段2: 1} 的文档,

其中 0 代表不选出该字段,1 代表选出该字段。

一旦在 find() 方法中定义了 projection,那所有字段默认都不选出
除非使用选项值 1 明确指定要选出该 字段。但_id字段默认选出。

简而言之:指定 projection 参数之后,普通字段默认不选出,但 _id 字段默认选出。


1、查询该集合所有的文档


命令
 db.books.find()

查询结果

在这里插入图片描述


2、查询价格大于500的文档


命令
 db.books.find({price: {$gt: 500}})

查询结果

在这里插入图片描述


3、查询价格大于500的,且【type】为【小说】的文档


命令
 db.books.find({price: {$gt: 500}, type: "小说"})

命令解释

这里有两个查询条件,且是 and 类型的查询条件

db.books.find( 

  {price: {$gt: 500}, type: "小说"}   //一整个花括号表示查询条件文档,查询条件可以看成是一个对象
  
  // price: {$gt: 500}     可以看成是查询条件对象的第 1 个属性
  // type: "小说"          可以看成是查询条件对象的第 2 个属性,两者用逗号隔开

)

查询结果

在这里插入图片描述


4、查询价格大于900的,或 type为【漫画】的文档


命令
 db.books.find({$or: [{price: {$gt: 900}}, {type: "漫画"}]})

命令解释
 db.books.find(
 
   { $or: [ { price: { $gt: 900 } } , { type: "漫画" } ] }
   
   // 表示 or(或)里面有这个   [ { price: { $gt: 900 } } , { type: "漫画" } ] 对象,这个对象必须是一个数组
   
   // or 对象的第 1 个属性值:{ price: { $gt: 900 } } 
   
   // or 对象的第 2 个属性值: { type: "漫画" }


)

查询结果

在这里插入图片描述


5、只查询价格大于800的,或 type为【动漫】的name字段、包括_id字段


就是查询来的结果只显示 name 和 id 字段


命令
db.books.find({$or: [{price: {$gt: 800}}, {type: "动漫"}]}, {name:1})

命令解释
db.books.find(

  { $or: [ { price: { $gt: 800 } }, { type: "动漫" } ] },  { name:1 }
	
  // { $or: [ { price: { $gt: 800 } }, { type: "动漫" } ] }   查询条件
  // { name:1 } 表示查询出来的文档,只显示 【name】这个字段
  // 注意:id 这列是默认显示出来的
  
  // 一旦在 find() 方法中定义了 projection,就是这个【 {name:1} 】,
  // 那所有字段列数据默认都不查询出来,
  // 除非使用选项值 1 明确指定要选出该字段,但_id字段默认选出
  // 例如:可通过  {name:1} 指定只查询 name 这列数据
)

相当于 SQL 命令中的:

select id, name from books where price > 800 or type = "动漫" 

查询结果

如图:
一旦在 find() 方法中定义了 projection,就是这个【 {name:1} 】,那所有字段默认都不选出
除非使用选项值 1 明确指定要选出该 字段,但_id字段默认选出。

所以匹配的文档中,只有 name 这个字段被指定查询出来,id是默认查询出来的。

在这里插入图片描述


6、只查询价格大于800的,或 type为【动漫】的name字段、不包括_id字段


就是 查出来的文档只显示 name 字段的值


命令
db.books.find({$or: [{price: {$gt: 800}}, {type: "动漫"}]}, {name:1, _id:0})

命令解释
db.books.find(

  { $or: [ { price: { $gt: 800 } }, { type: "动漫" } ] },  { name:1 , _id:0 }
	
  // { $or: [ { price: { $gt: 800 } }, { type: "动漫" } ] }   查询条件
  //  name:1  value 值为 1,表示查询出 name 这个列
  // _id : 0  value 值为 0,表示这个 id 列不显示出来
  // 注意:id 这列是默认显示出来的,设置 _id:0 ,可显示指定不要让其查询出来。

)

相当于 SQL 命令中的:

select  name  from books where price > 800 or type = "动漫" 

查询结果

在这里插入图片描述



官方文档查看支持的查询运算符

官方文档4.4版本

在这里插入图片描述


在这里插入图片描述



官方文档 4.2版本

在这里插入图片描述



官网中,Bson type 的用法

在这里插入图片描述



查询运算符


范围运算符
 $eq   等于
 $gt   大于
 $gte  大于等于
 $in   查询指定值,一个或多个
 $lt   小于
 $lte  小于等于
 $ne   不等于
 $nin:不在xx范围之内。

1、$in:查询 name 为 “家庭教师” 或 "火影忍者 " 的文档

in 后面应该带数组 --》 $in:[ ]

用 in 查询数组里面的多个指定值元素


命令:
 db.books.find({name: {$in: ["家庭教师", "火影忍者"]}})

查询结果:

用 in 指定查询 name 为 “家庭教师” 和 " 火影忍者" 的文档

在这里插入图片描述


2、$nin:查询 name 不为 “家庭教师” 或 "火影忍者 " 的文档

命令:
db.books.find({name: {$nin: ["家庭教师", "火影忍者"]}})

查询结果

在这里插入图片描述



逻辑运算符
 $and: 该运算符大部分时候可不要,你可直接将多个条件组合成一个filter document。
 
 $not:否, 要求其值必须是文档或正则表达式。

 $nor:异或
 
 $or: 或

3、$not:查询 type 不为【小说】的文档

命令:
db.books.find({type: {$not: {$eq: "小说"}}})

// 相当于 type 不等于 "小说"

查询结果:

在这里插入图片描述


4、$not:查询 type 不包含【说】的文档(使用正则表达式)

$not 的值需要使用正则表达式


命令:

这个 . 点匹配任意字符

db.books.find({type: {$not: /^.+说/}})

查询结果:

在这里插入图片描述


元素相关运算符
 $exists:要求指定字段存在

 $type:要求指定字段为指定类型。

计算相关运算符
$expr	允许在查询中使用聚合表达式
        常用于以下情况:
              在查询中使用聚合算法,如 sum、avg、$max 等。
              对字段进行复杂的比较和条件判断,如大于、小于、等于等。

$jsonSchema	 要求文档必须符合指定JSON Schema(语义约束)

$mod	  Performs a modulo operation on the value of a field and selects documents with a specified result.
          对字段的值执行取模操作,并选择具有指定结果的文档。

 
$regex	   Selects documents where values match a specified regular expression.
           选择值与指定正则表达式匹配的文档。

全文检索相关运算符
$text	 执行全文搜索的运算符
 
$where	 允许使用 JavaScript 表达式来执行复杂的查询操作

5、查询必须有name字段、且有price字段,且name字段为string类型、price字段的值为int类型

命令:
db.books.find({$jsonSchema: {
     required: [ "name", "price" ],
     properties : {
         name: { bsonType: "string" },
         price: { bsonType: "int"} 
     }
}});

【备注】:可以在这里看字段的类型【Tree View】

在这里插入图片描述


查询结果:

在这里插入图片描述


6、$regex:查询 type 包含 【漫】的文档

命令
db.books.find({type: {$regex: /^.*漫.*$/}})
 
 // $regex 的值应该是正则表达式
 // . 点代表任意字符,* 代表任意字符出现 0 到 多次

查询结果

在这里插入图片描述


数组相关的运算符

 $all:要求数组包含 all 所指定的多个元素。

这里的 $all 相当于组合 $and


添加测试数据
db.books.insert({name:"一念永恒", prices:[100, 200, 300, 400,500]})   
db.books.insert({name:"仙逆", prices:[400,500,600,700,800]})   
db.books.insert({name:"光阴之外", prices:[600,700,800,900,1000]})   

在这里插入图片描述


添加的数据
在这里插入图片描述


测试数据区分一下:

在这里插入图片描述


7、$all:查询所有 prices 字段中包含 400 和 500 的值

命令:
db.books.find({prices: {$all: [400, 500]}})

这里的 $all 相当于组合 $and,就是且的意思


查询结果

在这里插入图片描述


8、$all:查询所有 prices 字段中包含 500 和 600 的值

命令:
db.books.find({prices: {$all: [500, 600]}})

查询结果

在这里插入图片描述


9、$all:查询所有 prices 字段中包含 500 和 1000 的值

命令:
db.books.find({prices: {$all: [500, 1000]}})

查询结果

显然,没有哪一个文档的 prices 数组中,同时包含 500 和 1000 的值
在这里插入图片描述


10、$elemMatch:查询所有 prices 中任一元素大于600

命令:
db.books.find({prices: {$elemMatch: {$gt: 600}}})

$elemMatch:要求数组中任意一个元素匹配指定的条件


查询结果:

在这里插入图片描述


11、$elemMatch:查询所有 prices 中任一元素大于800

命令:
db.books.find({prices: {$elemMatch: {$gt: 800}}})  

查询结果:

在这里插入图片描述


12、$size:查询 prices 数组 包含 5 个元素

命令:
db.books.find({prices: {$size: 5}})

$size:要求指定字段为数组、且包含多少个元素


查询结果:

在这里插入图片描述


13、$size:查询 prices 数组 包含 3 个元素

命令:
db.books.find({prices: {$size: 3}})

$size:要求指定字段为数组、且包含多少个元素


查询结果:

在这里插入图片描述


注意:

因为 $size要求指定字段为数组、且包含多少个元素

这个price 不是数组,所以这个查询是查不到数据的

在这里插入图片描述







本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1489037.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

pyqt程序打包成exe最新版保姆级教程

运行环境&#xff1a;win10、pycharm、pyqt5、pyinstaller 要求&#xff1a;将下面软件转换为可执行的exe文件&#xff0c;发送给别人使用。 操作步骤&#xff1a; 1、main.py为我们要转换的代码文件&#xff0c;icon中放着我们exe程序的图标&#xff08;注意&#xff1a;图标…

Stable Diffusion 模型分享:3D Animation Diffusion(3D动漫)

本文收录于《AI绘画从入门到精通》专栏&#xff0c;专栏总目录&#xff1a;点这里。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八 下载地址 模型介绍 3D Animation Diffusion 是 Lykon 大神的 3D 动漫模型。 作者述&#xff1a;在迪士尼、皮…

CentOS7配置静态IP地址以及主机名

配置静态IP [rootwyx ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33TYPE"Ethernet" PROXY_METHOD"none" BROWSER_ONLY"no" BOOTPROTO"static" #将dhcp修改为static DEFROUTE"yes" IPV4_FAILURE_FATAL"no"…

神经网络3-时间卷积神经网络

在深度学习的知识宝库中&#xff0c;卷积神经网络&#xff08;CNN&#xff09;广泛应用于视觉&#xff0c;视频等二维或者多维的图像领域。卷积网络具有深度&#xff0c;可并行等多种优良特性&#xff0c;那么这种技术是否可以应用于解单维度的时间序列问题呢&#xff1f;本文介…

微信小程序中使用特使字体

1、首先下载字体文件 推荐几个常用下载字体的网站 https://font.chinaz.com/zhongwenziti.html https://www.hellofont.cn/ 2、转换字体 使用下面这个网站进行字体转换 https://transfonter.org/ 点击add fonts 按钮进行上传刚刚下载的字体文件选择formats格式&#xff1a;可…

数学建模【灰色关联分析】

一、灰色关联分析简介 一般的抽象系统,如社会系统、经济系统、农业系统、生态系统、教育系统等都包含有许多种因素&#xff0c;多种因素共同作用的结果决定了该系统的发展态势。人们常常希望知道在众多的因素中&#xff0c;哪些是主要因素&#xff0c;哪些是次要因素;哪些因素…

IO接口 2月5日学习笔记

1.fgetc 用于从文件中读取一个字符&#xff0c;fgetc 函数每次调用将会返回当前文件指针所指向的字符&#xff0c;并将文件指针指向下一个字符。 int fgetc(FILE *stream); 功能: 从流中读取下一个字符 参数: stream:文件流指针 返回值: …

Vue3 isProxy,isReactive,isReadonly 三者解析

1、isProxy 作用&#xff1a;判断当前数据是否为代理数据。 注意&#xff1a;它只对通过 reactive&#xff0c;readonly&#xff0c;shallowReactive&#xff0c;shallowReadonly 这四个方法包裹的数据返回true&#xff0c;对于 ref 以及通过 new Proxy 代理的数据返回都是fal…

支持向量机 SVM | 线性可分:硬间隔模型公式推导

目录 一. SVM的优越性二. SVM算法推导小节概念 在开始讲述SVM算法之前&#xff0c;我们先来看一段定义&#xff1a; 支持向量机(Support VecorMachine, SVM)本身是一个二元分类算法&#xff0c;支持线性分类和非线性分类的分类应用&#xff0c;同时通过OvR或者OvO的方式可以应用…

前端学习之HTML(第一天)

什么是HTML HTML是一种用来描述网页的一种语言&#xff0c;HTML不是一种编程语言&#xff0c;而是一种标记语言。 HTML标签 HTML 标签是由尖括号包围的关键词&#xff0c;比如 <html> HTML 标签通常是成对出现的&#xff0c;比如 <b> 和 </b> 标签对中的…

GraphPad Prism 10: 你的数据,我们的魔法 mac/win版

GraphPad Prism 10是GraphPad Software公司推出的一款功能强大的数据分析和可视化软件。它集数据整理、统计分析、图表制作和报告生成于一体&#xff0c;为科研工作者、学者和数据分析师提供了一个高效、便捷的工作平台。 GraphPad Prism 10软件获取 Prism 10拥有丰富的图表类…

【算法分析与设计】组合

&#x1f4dd;个人主页&#xff1a;五敷有你 &#x1f525;系列专栏&#xff1a;算法分析与设计 ⛺️稳中求进&#xff0c;晒太阳 题目 给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 示例 1&…

2023四色方法_RDHEI_Using_Four-Color_Approach

RRBE 仅供自己做学习笔记使用&#xff0c;切勿转载&#xff0c;如有侵权联系立删&#xff01; 一、创新 1、首次将四色定理应用在图像处理领域&#xff1b; 2、扩展了四色定理&#xff0c;以方便RDHEI。 二、四色定理 四色问题的内容&#xff1a;“任何一张地图只用四种颜…

Vue+SpringBoot打造高校学生管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 学生管理模块2.2 学院课程模块2.3 学生选课模块2.4 成绩管理模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 学生表3.2.2 学院课程表3.2.3 学生选课表3.2.4 学生成绩表 四、系统展示五、核心代码5.1 查询课程5.2 新…

Flutter输入框换行后自适应高度

Flutter输入框换行后输入框高度随之增加 效果 设计思想 通过TextEditingController在build中监听输入框&#xff0c;输入内容后计算输入框高度然后自定义适合的值&#xff0c;并且改变外部容器高度达到自适应高度的目的 参考代码 //以下代码中的值只适用于案例&#xff0c;…

深入理解快速排序算法:从原理到实现

目录 1. 引言 2. 快速排序算法原理 3. 快速排序的时间复杂度分析 4. 快速排序的应用场景 5. 快速排序的优缺点分析 5.1 优点&#xff1a; 5.2 缺点&#xff1a; 6. Java、JavaScript 和 Python 实现快速排序算法 6.1 Java 实现&#xff1a; 6.2 JavaScript 实现&#…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的植物病害检测系统(Python+PySide6界面+训练代码)

摘要&#xff1a;开发高效的植物病害检测系统对于提升农业生产效率和作物健康管理意义重大。本篇博客详细阐述了如何运用深度学习技术构建一个植物病害检测系统&#xff0c;并提供了完整的实现代码。该系统基于先进的YOLOv8算法&#xff0c;对YOLOv7、YOLOv6、YOLOv5进行了性能…

Fisher矩阵与自然梯度法

文章目录 Fisher矩阵及自然梯度法Fisher矩阵自然梯度法总结参考链接 Fisher矩阵及自然梯度法 自然梯度法相比传统的梯度下降法具有以下优势&#xff1a; 更好的适应性&#xff1a;自然梯度法通过引入黎曼流形上的梯度概念&#xff0c;能够更好地适应参数空间的几何结构。这使…

Kubernetes(K8S第三部分之资源控制器)

资源控制器 什么是控制器 Kubernetes中内建了很多controller&#xff08;控制器&#xff09;&#xff0c;这些相当于一个状态机&#xff0c;用来控制Pod的具体状态和行为。 控制器类型 ReplicationController和ReplicaSet Deployment DaemonSet StateFulSet Job/CronJob…

javascript学习快速入门

JavaScript 基本语法 快速入门 数据类型 123 // 整数123 123.1 //浮点数123.1 1.123e3 //科学计数法-99//复数 NaN// not a numberInfinity //表示无限大注意点 NaNNaN&#xff0c;这个与所有的数值都不相等&#xff0c;包括自 己 只能通过isNaN(NaN)来判断这个数是否是Na…