初识MongoDB小结

一、Mongodb介绍

MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。

在高负载的情况下,添加更多的节点,可以保证服务器性能。

MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。比较适合存储大量的没有规则,无序的数据。

MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。   MongoDB里存储数据的格式文档形式,以bson格式的文档形式。

二、简单操作

2.1创建一个数据库使用

通过use语法切换数据库,如果数据库不存在,就会自动创建它。

2.2添加数据

mongodb里存储数据的格式文档形式,以bson格式的文档形式。

 

语法:

db.集合名称.insert(bson格式数据)

2.2.1普通数据添加

例:db.goods.insert({name:'huawei',price:3500,weight:140,number:35})

2.2.2多维数据添加

例:db.goods.insert({name:'iphone',price:5000,weight:150,number:45marea:{province:'beijing',city:'beijing'}})

2.2.3数组信息添加

例:db.goods.insert({name:'xiaomi',price:3000,weight:150,number:20,area:{province:'nanjing',city:'beijing'},color:['black','whtie','red']})

2.3查询数据

语法:

db.集合名称.find(查询条件)

                      findOne()        会取出符合结果的第一条信息,并且以格式化形式返回

2.3.1笼统方式查询

db.goods.find()    不进行条件限制,全部取出来

2.3.2条件限制查询

例:db.goods.find({name:'huawei'})

2.3.3范围条件查询

mysql   <     <=   >   >=

 

mongo  $lt    $lte  $gt  $gte

db.goods.find({price:{'$lte':1999}})

2.3.4多个条件查询

例:db.goods.find({price:{'$lte':1999},number:{'$gte':40}})

2.3.5多维字段查询

例:db.goods.find({'area.city':'beijing'})

注意:多维字段需要用引号包含起来

2.3.6数组条件查询                                   

①查询满足其中之一即可显示

db.goods.find({color:'black'})

②满足查询条件所有的才可显示

db.goods.find({color:{'$all':['black','red']}})

2.3.7限制查询字段

语法:db.集合名称.find({查询条件},{筛选条件})

显示为1,不显示为0   要是1都是1,要是0都是0  _id除外

例:db.goods.find({color:{'$all':['black','red']}},{name:1,_id:0})

_id是mongodb数据库里的集合中,默认的主键id,具有索引内容,通过主键查询,会很快的查询速度。不要随意修改此值,使用默认即可。

2.3.8$or查询

满足其中之一的条件就可以显示,类似mysql的中的or条件语法

例:db.goods.find({'$or':[{price:{'$gt':5000}},{number:{'$gte':100}}]})

2.3.9count 语法

返回结果的数量统计

例:

db.goods.count()

db.goods.find({price:{'$gt':5000}}).count()

db.goods.count({price:{'$gt':5000}})

2.3.10limit语法 skip语法

类似于mysql中的limit(skip,length)语法

limit()  取几个

skip()   跳过几个

例:

db.goods.find().limit(1);

db.goods.find().skip(1).limit(1);

 

2.4修改数据

语法:db.集合名称.update({查询条件},{修改条件})

               updateOne()

                 updateMany()

2.4.1有$set的修改

例:

db.goods.update({name:'iphonex'},{'$set':{price:8500}})

 

db.goods.updateOne({name:'xiaomi5'},{'$set':{price:1500}})

 

2.4.2没有$set的修改

 

没有$set关键字语法,把设置的字段进行修改,没有设置的就会被删除掉

例:

db.goods.update({name:'iphonex'},{price:8550})

 

2.5删除数据

语法: db.集合名称.remove({查询条件})

                  deleteOne()

                  deleteMany()

例:db.goods.remove({price:8550})

2.5.1删除字段

可以删除某个字段的操作,使用的是update语法的$unset

例:db.goods.update({name:'huawei01'},{'$unset':{weight:0}})

 

posted @ 2018-03-11 11:19  爱music的程序猿  阅读(95)  评论(0)    收藏  举报