首页 » Web前端 » extentsphp技巧_分布式数据库Mongodb基本语法解析

extentsphp技巧_分布式数据库Mongodb基本语法解析

访客 2024-11-21 0

扫一扫用手机浏览

文章目录 [+]

Mongod 开机

Mongoimport 导入数据

extentsphp技巧_分布式数据库Mongodb基本语法解析

Nosql:非关系型数据库,mongodb是个中一个

extentsphp技巧_分布式数据库Mongodb基本语法解析
(图片来自网络侵删)

1、通过Mongo连接,默认连接的是test数据库(这个数据库不可删,是mongodb安装的时候自带的)

2、mongodb与其他数据库比较,关系型数据库必须创建表和字段,否则无法利用。
但是mongodb属于“无状态模式”,构造不须要设计,直策应用即可,存什么东西取决于我们自己向他传入什么!
(当不存在则创建)

由于市场普标称之为表,以是mongodb做了兼容语法处理

显示所有数据库:show dbs / show databases(都是一样的)

显示所有凑集/表:show collections / show tables(都是一样的)

显示当前利用数据库:db / db.getName();

数据库状态:db.stats()

\"大众db\"大众 : \公众dnedu\公众,:表示当前是针对“数据库”的描述 \公众collections\"大众 : 3,:表示当前数据库有多少个collections,当然也可以通过show collections \"大众objects\"大众 : 14,:表示当前数据库所有collection统共有多少行数据,但是只是一个估计值,并不是非常的精准 \"大众avgObjSize\"大众 : 60.142857142857146,:每行数据的大小,也是估计值 \公众dataSize\"大众 : 842, :当前数据库所有数据的总大小 \"大众storageSize\公众 : 90112,表示当前数据库霸占磁盘大小,单位bytes \"大众numExtents\公众 : 0,:包含所有凑集中数据库中扩展数量的计数 \公众indexes\"大众 : 3, \"大众indexSize\公众 : 90112,\"大众ok\"大众 : 1

掌握台运算

写入数据:

一:普通数据添加办法:

插入数据是咱们熟习的“json”格式,而在mongodb实际上利用的语法称之为”bson” BSON()是一种类json的一种二进制形式的存储格式,简称Binary JSON,它和JSON一样,支持内嵌的文档工具和数组工具,但是BSON有JSON没有的一些数据类型,如Date和BinData类型。

db.product.insert({name:\"大众xiaomi6\公众,price:1999,weight:140,number:40,area:{province:\"大众beijing\"大众,city:\"大众beijing\"大众}})db.product.insert({name:\"大众huawei01\"大众,price:2999,weight:120,number:20,area:{province:\"大众shenzhen\"大众}})

当凑集(product)不存在则创建一个新的凑集,插入的数据格式基本和json一样

二:多维数组工具添加:

db.product.insert({name:\"大众xiaomi6\"大众,price:1999,weight:140,number:40,area:{province:\"大众beijing\公众,city:\"大众beijing\公众}})

三:数组信息的添加

db.product.insert({name:\"大众xiaomi6\"大众,price:1999,weight:140,number:40,color:[‘red’,’black’,’yellow’]})

我们不可能一条一条的数据去插入,以是可以直接导入json文件批量插入文档 mongoimport --db dnedu --collection product --drop --file dr.json 把稳--drop是先删除后导入,也可以不用--drop不删除直接导入

数据查询:

笼统查询:

查询所有数据:db.product.find()

查询第一条数据:db.product.findOne();

条件限定查询: db.product.find({name:\"大众huawei01\"大众})。
类似于Mysql命令:select from 表名 where name = “huawei01”

ID:id的字段内容值是mongodb本身算法得到的,该_id对应的值信息在“环球唯一”,相称于Mysql当中的主键id,是唯一的,该id可以自行设置,但是不推举范围查询

关键字:$gt $lt $gte $lte

Mongodb里面的字段单引号和双引号都可以,随意,只是在PHP由于会把$阐明运行,以是php弗成

查询price大于2500的数据 db.product.find({price:{'$gt':2500}})

查询price小于2500的数据 db.product.find({price:{'$lt':2500}})

设置多个查询条件:

查询price大于2500,weight小于100的数据db.product.find({price:{'$gt':2500},weight:{'$lt':100}})

查询price大于2500,weight即是20的数据db.product.find({price:{'$gt':2500},weight:20})

多维字段查询:

查询area里面的province即是changshadb.product.find({'area.province':\"大众changsha\公众})

数组条件查询:

查询color带有red的数据(包含一个)db.product.find({color:’red’});

查询color带有red和black的数据(必须包含两个)db.product.find({color:{‘$all’:[‘red’,’black’]}})

$or,多个条件,知足其一即可

price即是3000或number小于100db.product.find({'$or':[{price:3000},{number:{'$lt':100}}]})

限定查询字段:

查询数据price即是3000,数据只显示namedb.product.find({price:3000},{name:1}),这条语句有iddb.product.find({price:3000},{name:1,_id:0}):这条语句真的就只有name字段了

1.表示查询显示此字段 0.表示打消不显示此字段

如果你须要,比如name为1,price为0,那么会报错,由于mongodb的规则(可以都为1,页可以都为0)便是要输出就全部输出,要么不输出就全部不输出,_id除外,可以随意设置0,1,

db.product.find({price:3000},{name:1,price:0,_id:0})

修正数据:

关键字:$set修正name即是huawei06的字段,但只修正了一条db.product.update({name:\"大众huawei06\"大众},{'$set':{name:\公众update before name\公众}});

如果修正语句中,没有$set,会导致删除其他除id外的所有字段,然后保留我们自己设置的字段,会有下面这张黑图的字段变为下面的图片所剩的字段

如果修正的字段没有则创建,如果实行以下命令db.product.update({name:\"大众huawei07\"大众},{history:\"大众i don't know\"大众})

上面这条语句会删除其他除id以外的所有字段,然后创建hisotry字段删除数据:删除所有name即是huawei03的数据

db.product.remove({name:\"大众huawei03\"大众})

删除字段:db.product.update({name:\"大众huawei04\公众},{'$unset':{name:1}});,只会删除一条

模糊匹配:

如果只须要一条数据,可以有两种办法:Limit:获取多少条数据db.teacher.find({name:/哈/}).limit(1)FindOne:只获取一条:db.teacher.findOne({name:/哈/})

关注我:私信回答“555”获取往期Java高等架构资料、源码、条记、视频Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并发等架构技能往期架构视频

标签:

相关文章

语言本体调查,探寻语言发展的奥秘

语言是人类社会不可或缺的交流工具,它承载着丰富的文化内涵和智慧结晶。为了更好地了解和把握语言发展的规律,语言学家们开展了大量的语言...

Web前端 2024-12-29 阅读0 评论0

语言栏启动项,智能时代的沟通利器

随着科技的飞速发展,人工智能已经逐渐渗透到我们的日常生活中。而在这其中,语言栏启动项作为一种新兴的技术,正逐渐成为人们沟通的得力助...

Web前端 2024-12-29 阅读0 评论0

语言治疗,呵护言语,重拾沟通之美

语言治疗,简称“语疗”,是一门专注于改善患者言语、语言和沟通障碍的医学领域。在我国,随着社会的发展和生活节奏的加快,越来越多的人受...

Web前端 2024-12-29 阅读0 评论0

语言播报技术,未来沟通的桥梁

随着科技的飞速发展,人工智能逐渐成为我们生活中不可或缺的一部分。在众多人工智能应用中,语言播报技术以其独特的魅力,正逐渐改变着我们...

Web前端 2024-12-29 阅读0 评论0