zoukankan      html  css  js  c++  java
  • MongoDB简单操作

    MongoDB是一个基于 分布式 文件存储的开源数据库系统

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

    MongoDB将数据存储为一个文档,数据结构由键值(key=value)对组成.

    1.1LinuxMongoDB将数据目录存在data目录的db目录下,需要我们自己主动创建。

    mkdir -p /data/db    (/datat/dbMongoDB默认的启动的数据库路径 --dpath)

    1.2  MongoDB后台管理shell

     

    1.3查看当前操作的文档(数据库):db

    1.4插入简单的记录,并查找它:

    >db.runoob.insert({x:10})  //将数字10插入到runoob集合x字段中

    >db.runoob.find()

     

    2.1MongoDB概念

    2.2  数据库

    一个mongodb可以建立多个数据库。

    默认数据库为”db“,存储在data目录下

    MongoDB 中默认的数据库为 test,如果你没有创建新的数据库,集合将存放在 test 数据库中

    1)show dbs可以显示所有数据的列表

     

    2)use  可以连接到一个指定的数据库

    >use local

    switched to local

    >db

    local

    >

    2.3 文档

    文档是一组键值(key-value

    eg:  {"site":"www.bird.com","name":"bird"}

    注:1、文档中的键/值是有序的。

    2、文档中的 值 不仅可以是双引号里面的字符串,还可以是其他几种数据类型

    3MongoDB区分类型和大小写

    4MongoDB的文档不能有重复的键

    5、文档的键是字符串。除了少数例外情况,键可以使用任意UTF-8字符

    2.4 集合

    集合就是MongoDB文档组,类似于RDBMS(关系数据库管理系统)中的表格

    2.5MongoDB数据类型

    3.1 删除数据库

    语法:db.dropDatabase()  //删除当前数据库,默认为test

    实例:

    1、进入一个数据库

    >use test

    switched to db test

      >

    2、执行删除命令

    >db.dropDatabase()

    {"dropped" :  "test" , "ok" : 1}

    3.2 删除集合

    语法:db.collection.drop()

    eg:>use test

    switched to db test

         >show tables

           site

         >db.site.drop

    true

         >show tables

         >

    3.3 删除数据

    1. 删除"ban_friends_id":"BAN121113"数据

    1 > db.test_ttlsa_com.remove({"ban_friends_id":"BAN121113"})

    3.4删除表中所有的数据

    db.表名.remove({})

    4.1插入文档

    语法:db.Collection_name.insert(doucument)

    1eg:runoob数据库中的col集合中存入文档

    >db.runoob.insert({title:'MongoDB',

    description:'MongoDB是一个nosql数据库'

    tags:['mongodb','database','nosql']

    likes:100

    })

    如果col集合不在数据库里,MongoDB会自动创建此集合

    2)查看插入的文档

    >db.runoob.find()

    4.2 将数据定义为一个变量

    >document={title='MongoDB',

    description:'MongoDB是一个Nosql数据库'

    tags:['mongodb','database','nosql']

    likes:100

    };

    执行插入操作:

    >db.col.insert(document)

    WriteResult({"nInserted":1})

    >

    也可以使用db.clo.save(document)

    5、查询

    5.1.1小于  pretty() 方法以格式化的方式来显示所有文档

    eg:db.access_points.find({"admin_id":{$lt:50}}).pretty()

    5.1.2小于或等于

    egdb.access_points.find({"admin_id":{$lte:50}}).pretty()

    5.1.3大于:

    eg:db.access_points.find({"admin_id":{$gt:50}})

    5.1.4大于或等于

    eg:db.access_points.find({“admin_id”:{$gle:50}})

    5.1.5 不等于

    egdb.access_points.find({"admin_id":{$ne:50}})

    5.2 去重查询

    eg: db.access_controllers.distinct("admin_id")

    5.3 or 或查询

    语法:

    db.status.find({$ or : [{key1,value},{key2:value}]})

    eg: db.access_points({$or:[{“admin_id”:1},{"mac":"111111111111"}]}).pretty()

    5.4 Skip()  :跳过记录条数:

    eg:db.access_points.find().skip(2)    //跳过第2条数据

    5.5 sort() 排序

    egdb.access_controllers.find({"type":1},{admin_id:1}).sort({admin_id:-1})   // -1降序;1 升序

    5.6 db.col.find({},{"title":1,_id:0}).limit(2)

    补充说明:

     第一个 {} where 条件,为空表示返回集合中所有文档。

     第二个 {} 指定那些列显示和不显示 (0表示不显示 1表示显示)

    5.6 正则查询

    1)查询包含字符串test的内容

    >db.posts.find({post_text:{$regex:"test"}})

    2)查询包含字符test的内容

    >db.posts.find({post_text:/test/})

    3) 查询日期包含2017-09-06T01:33的字符串

    db.summary.find({"insert_time" : {"$gte":ISODate(/.*2017-09-06T01:33.*/)},"org_id":1},{"device":1,"insert_time":1})

     

  • 相关阅读:
    【小梅哥SOPC学习笔记】Altera SOPC嵌入式系统设计教程
    modelsim使用常见问题及解决办法集锦③
    modelsim使用常见问题及解决办法集锦 ②
    KeepAlived双主模式高可用集群
    充分利用nginx的reload功能平滑的上架和更新业务
    nginx日志配置指令详解
    MongoDB 副本集
    MongoDB 备份还原
    MongoDB的搭建、参数
    mongoDB整个文件夹拷贝备份还原的坑
  • 原文地址:https://www.cnblogs.com/Mollylin/p/9212257.html
Copyright © 2011-2022 走看看