mongo学习第一步

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


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • NoSql数据库优缺点 在优势方面主要体现在下面几点: 简单的扩展 快速的读写 低廉的成本 灵活的数据模型 在不足...
    dreamer_lk阅读 7,758评论 0 6
  • 目录 查询操作 集合查询方法 find() 查询内嵌文档 查询操作符(内含 数组查询) "$gt" 、"$gte"...
    彩虹之梦阅读 4,661评论 0 1
  • 一 基本概念 MongoDB中数据的结构为:库、集合、文档 1 数据库 多个集合可以组成数据库。MongoDb的单...
    周东波_db阅读 7,132评论 0 4
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,795评论 19 139
  • A : 公约数与公倍数 优秀代码 点评 : 考虑了m大于n的情况,缩进到位。 B : 求1!+2!+3!+.......
    jzh123s阅读 3,945评论 0 2