PHP实战PHP经验分享

mongodb学习系列(三)

2017-08-30  本文已影响0人  gogocheng

mongodb中数据的增删改查

1.写入数据

1)普通数据的添加

mongodb中数据是 Bson格式,类json格式

mongodb 使用 insert() 或 save() 方法向集合中插入文档,语法如下:

db.COLLECTION_NAME.insert(document);

示例:db.goods.insert({name:'phone',price:1000,weight:135,number:35})

2)多维数据对象添加

示例:

db.goods.insert({name:'xiaomi5',price:1999,weight:156,number:45,area:{province:'beijing',city:'beijing'}})

3)数组信息的添加

示例:

db.goods.insert({name:'xiaomimax',price:2000,weight:180,number:100,area:{province:'beijing',city:'beijing'},color:['blank','white','red']})

2.数据查询

1)笼统方式查询

db.数据表.find()                                    //查询数据表的全部数据

db.数据表.findOne()                             //查询数据表的第一条数据并转化数据格式

2)条件限制查询

条件:Bson对象

例如:db.goods.find({name:‘phone’})  查询name=phone的记录信息

(类似  select * from 表名 where name=’phone’)

db.数据表.find(条件)

db.数据表.findOne(条件)        //返回满足结果里的第一条信息

3)范围条件查询

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

mysql关键字: >     <     >=      <=

查询价格大于1005元的商品

db.goods.find({price:{‘$gt’:1005}})

注意:关键字$gt左右必须有引号,单双都可以

命令行:单双引号都可以

php:只能使用单引号

4)设置多个查询条件

相当于mysql里面的and条件操作

db.数据表.find({条件,条件,条件})

例如:要求价格大于1000并且 重量小于100的

db.goods.find({price:{‘$gt’:1000},weight:{‘$lt’:100}})

或者通过严格等于的条件进行查询复合查询

例如:价格大于1000,并且重量等于50

db.goods.find({price:{'$gt':1000},weight:50})

5)限制查询字段

们刚才的查询,是显示的所有的信息字段,但是呢,实际情况操作中,我们不一定全部都用到,那么可以就需要做一个字段输出查询的一个限制。如果全部取出来的话,对于内存和带宽都一定影响,我们按需去操作就可以了。

db.表.find({条件},{字段:1/0,字段:1/0}

1: 查询此字段

0: 排除此字段

规则:

就是要输出就全部输出,要不输出就全部不输出。_id除外,可以随意设置0,1

3.修改数据

db.表.update({条件},{‘$set’:{字段:值,字段:值......}})

db.表.update({条件},{字段:值,字段:值......})

有$set的修改:只修改设置的字段,其他字段不变化

没有$set的修改:只修改设置的字段,没有修改的字段就删除了(除了_id字段)

4.删除数据

1)删除记录

db.表.remove(条件)

2)删除字段

db.表.update({条件},{‘$unset’:{字段:1/字段:0}})

上一篇下一篇

猜你喜欢

热点阅读