Mongodb基本语法

栏目: 数据库 · 发布时间: 7年前

内容简介:2、mongodb与其他数据库相比,关系型数据库必须创建表和字段,否则无法使用。但是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
复制代码
Mongodb基本语法

控制台运算

Mongodb基本语法

写入数据:

一:普通数据添加方式:

插入数据是咱们熟悉的“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一样

Mongodb基本语法

二:多维数组对象添加:

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()

Mongodb基本语法

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

Mongodb基本语法
条件限制查询: db.product.find({name:"huawei01"})。类似于 Mysql 命令:select * from 表名 where name = “huawei01”
Mongodb基本语法
Mongodb基本语法
ID:id的字段内容值是mongodb本身算法获得的,该_id对应的值信息在“全球唯一”,相当于Mysql当中的主键id,是唯一的,该id可以自行设置,但是不推荐

范围查询

关键字:$gt   $lt   $gte   $lte
复制代码

Mongodb里面的字段单引号和双引号都可以,随意,只是在 PHP 由于会把$解释运行,所以php不行

查询price大于2500的数据 db.product.find({price:{'$gt':2500}})
复制代码
Mongodb基本语法
查询price小于2500的数据 db.product.find({price:{'$lt':2500}})
复制代码
Mongodb基本语法

设置多个查询条件:

查询price大于2500,weight小于100的数据
db.product.find({price:{'$gt':2500},weight:{'$lt':100}})
复制代码
Mongodb基本语法
查询price大于2500,weight等于20的数据
db.product.find({price:{'$gt':2500},weight:20})
复制代码
Mongodb基本语法

多维字段查询:

查询area里面的province等于changsha
db.product.find({'area.province':"changsha"})
复制代码
Mongodb基本语法

数组条件查询:

查询color带有red的数据(包含一个)
db.product.find({color:’red’});
复制代码
Mongodb基本语法
查询color带有red和black的数据(必须包含两个)
db.product.find({color:{‘$all’:[‘red’,’black’]}})
复制代码
Mongodb基本语法

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

price等于3000或number小于100
db.product.find({'$or':[{price:3000},{number:{'$lt':100}}]})
复制代码
Mongodb基本语法

限制查询字段:

查询数据price等于3000,数据只显示name
db.product.find({price:3000},{name:1}),这条语句有id
db.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})
复制代码
Mongodb基本语法

修改数据:

关键字:$set
修改name等于huawei06的字段,但只修改了一条
db.product.update({name:"huawei06"},{'$set':{name:"update before name"}});
复制代码
Mongodb基本语法

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

Mongodb基本语法
Mongodb基本语法
如果修改的字段没有则创建,如果执行以下命令
db.product.update({name:"huawei07"},{history:"i don't know"})
复制代码
Mongodb基本语法
上面这条语句会删除其他除id以外的所有字段,然后创建hisotry字段

删除数据:删除所有name等于huawei03的数据

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

Mongodb基本语法
删除字段:db.product.update({name:"huawei04"},{'$unset':{name:1}});,只会删除一条
Mongodb基本语法

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Ajax Design Patterns

Ajax Design Patterns

Michael Mahemoff / O'Reilly Media / 2006-06-29 / USD 44.99

Ajax, or Asynchronous JavaScript and XML, exploded onto the scene in the spring of 2005 and remains the hottest story among web developers. With its rich combination of technologies, Ajax provides a s......一起来看看 《Ajax Design Patterns》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

SHA 加密
SHA 加密

SHA 加密工具

html转js在线工具
html转js在线工具

html转js在线工具