程序员

mongo学习第一步

2017-09-01  本文已影响0人  catsled

mongodb 学习  首次接触到非关系型数据库mongodb,相比于关系型数据库mysql中的数据库,表还有字段,在  mongo中代替的是:数据库,集合,还有文档.  语法格式(mongo): db.collection_name.do()  mongo的语法更像是操作python中的对象,以及其中的方法.


创建数据库:  use database_name  执行这条指令,mongo会在内存里创建一个数据库,并切换到该数据库中,为了防止空的数据库占用资源,mongo并不会在磁盘中创建该数据库,除非该数据库中存在数据.

创建集合:  db.createCollection(collection_name,option)  执行该指令,会在当前数据库中创建一个名为collection_name的集合用来保存接下来的文档信息.  option:[capped,size]  如果capped=true该集合可以存放的文档数量将会由size确定,该集合采用一种淘汰算法:当集合存满后,如果继续插入数据,那么,集合中的第一个数据将会被删除,新的数据存放在集合的最后位置.并且,该集合除了插入操作以外,不能对数据做其他的操作. 

插入数据:  db.collection_name.insert({})  执行该指令,mongo会在集合collection_name中插入一条数据,数据以键值对的方式存储,为了区分数据,如果在插入数据的时候没有指定该文档的id,那么mongo会自动为该文档添加一个唯一的id用来区分不同的文档.

删除数据:  db.collection_name.remove({condition},{justOne:false})  该指令用来删除满足条件的所有文档(如果justOne:false)如果 {justOne:true},那么只会删除第一个匹配的文档,如果不指定条件,  那么将会删除该集合中的所有文档.  

修改数据:  db.collection_name.update({condition},{result},{multi:})

该指令会将满足条件的文档中的信息更新为result中的结果,如果multi:true那么将会更新所有满足条件的文档,如果multi:false,那么只会更新第一个匹配到的文档.


条件字段

比较条件:

=    :    {field:value}

>    :    {field:{$gt:value}}

<    :    {field:{$lt:value}}

>=  :    {field:{$gte:value}}

<=  :    {field:{$lte:value}}

!=  :    {field:{$ne:value}}

逻辑条件:

and  :    {{field:value},{field:value}}

or  :    {$or:[{field1:value},{field2:value}]}

范围条件:

in  :    {$in:{field:[value1,value2,...]}}

nin  :    {$nin:{field:[value1,value2,...]}}


正则表达式:

1.{field:/exp/}

2.{field:{$regex:exp}}


查看

1.查看所有存在的数据库:show dbs

2.查看当前所在的数据库:db

3.查看当前数据据中的集合:show collections


例:

1> 创建一个数据库books

use books

2> 向数据库books中添加一个集合computer(没有大小限制)

db.createCollection('computer')

3> 向集合computer添加两本书籍的信息

db.computer.insert({isbn:123456,name:tcp/ip,price:79})

db.computer.insert({isbn:123457,name:'data structure',price:99})

4> 查询集合computer中的所有文档

db.computer.find()

5> 查询集合computer中isbn为123456的文档

db.computer.find({isbn:123456})

6> 查询集合computer中价格大于50的书籍

db.computer.find({price:{$gt:50}})

7> 查询集合computer中价格小于80的书籍

db.computer.find({price:{$lt:80}})

8> 修改集合computer中name为tcp/ip的图书价格为69

db.computer.update({name:tcp/ip},{$set:{price:69}})

9> 删除集合中价格小于70的书籍

db.computer.remove({price:{$lt:70}})


上一篇 下一篇

猜你喜欢

热点阅读