MongoDB数据库—基础语法

一、MongoDB 数据库的特点及安装

  • MongoDB 数据库的特点
    • 面向文档,模式自由
    • json数据模式(bson)(可以初略理解为字典)
    • 多级引索
    • 高可用复制集
    • 水平扩展
    • 跨平台、多种语言接口
    • 弱事务类型
    • 大数据、高并发、弱事务的web2.0互联网应用。
    • 优点:弱一致性,文档格式存储方式,内置gridFS(分布式文件系统)
    • 缺点:不支持事务,空间占用大
  • MongoDB 数据库的安装
    • 安装:一路点击next,finish
    • 配置环境变量:将bin目录配置到环境变量中
    • 执行:cmd>mongod –v        (测试环境变量是否配置好)
    • 新建如下文件夹(文件路径如下:)
    • 1 新建data文件夹
    • 2 新建 log 文件夹
    • 3 新建 mongo.conf 文件
    • 4 新建 mongo.cfg 文件(log文件夹下)
      文件路径:
      Server
      |----3.7
            |----bin
            |----data
            |----log
                  |----mongo.cfg
                  |----mongo.conf
    • 编辑 mongo.conf 文件(添加如下内容)
dbpath=C:\Program Files\MongoDB\Server\3.6\data                        #数据库路径 软件安装目录(我的是默认目录)  
    logpath=C:\Program Files\MongoDB\Server\3.6\log\mongo.cfg     #日志输出文件路径   
    logappend=true   #错误日志采用追加模式    
    journal=true        #启用日志文件,默认启用    
    quiet=true           #这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false    
    port=27017        #端口号 默认为27017
  • 安装MongoDB服务:(cmd以管理员身份执行)
    mongod --config "C:\Program Files\MongoDB\Server\3.6\mongo.conf" --install --serviceName "MongoDB"
    启动服务:cmd 管理员方式启动>net start MongoDB

二、基本语法:

MongoDB常见数据类型
String:            最常用的储存的数据类型。MongoDB中字符串必须是utf-8。
Integer:           用来储存数值。(32位/64位)
Boolean:           储存布尔值(true/false)
Double:             储存浮点值。
Min/Max keys:       用来对Bson元素最低最高值比较。
Arrays:            使用此类型的数组/列表/多个值储存到一个键
Timestamp:         时间戳。(方便记录文件已被修改/添加)

Object:            用于嵌入式文件。
Null:              储存null值。
symbol:            用于字符串相同,但它通常保留给特定符号类型的语言使用。
Date:              储存当前日期/时间的Unix时间格式。可以指定自己的日期和时间/日期和年月日到创建对象。
ObjectID:          用于储存文档的ID。
Binary data :       储存二进制数据。
Code:              用于储存到文档中的Javascript代码。
regular expression: 用于储存正则表达式
数据库增删改查
  • 创建库 / 删除库 / 创建集合 / 删除集合
创建库:use db_name       #使用/创建数据库(若不存在则创建该数据库)
             db                          #检查当前选择的数据库
             show dbs              #显示当前有哪些数据库
             show tables/show collections     #查看数据表

删除库 :  db.dropDatabase()    #这将删除选定的数据库。如果没有选择任何数据库,默认删除Test数据库。

创建集合:
        在mongodb里面没有表的概念,集合(collections)就相当于传统数据库的表。
        语法:db.createCollection(name,option)     

        演示:
        >use test                                              # 进入该数据库
        switched to db test
        >db.createCollection("mycollection")    # 创建myCollection 集合
        {"ok",1}
        >show collections                                 # 检查创建集合的命令
        mycollection
        system.indexes 

        删除集合
         >use mydb                                            #检查可用的集合在数据库 mydb
        switched to db mydb
        >show collections                                  #检查集合
                mycol
                mycollection
        >db.mycollection.drop()                         #删除集合
        true

        drop()方法返回true,成功丢弃;否则返回false

        >show collections                        #再次检查数据库中集合列表
            mycol
        system.indexes
        yiibai
  • MongoDB插入文档(Insert() / save方法)
语法:insert基本语法如:  >db.COLLECTION_NAME.insert(document)
db.mycol.insert({
                            title:        'MongoDB Overview',
                            description:'MongoDB id no sql database',
                            by:            'tutorials yiibai',
                            url:        'http://www.yiibai.com',
                            tags:        ['mongodb','database','NOSQL'],
                            like:        100
                            })
db.collection_name.find()            #显示插入的数据

插入多个文档 :   db.mycol.insert([{},{}])
db.score.insert([{name:"张三",subject:"地理",score:88},
                               {name:"李四",subject:"语文",score:87}])
  • MongoDB更新文档(update()/save()方法)
    updata()更新现有文档值 / save()用于替换现有文档值。
updata()基本语法如下:
>db.COLLECTION_NAME.update(selection_criteria,updated_data)

#mycol集合文件:
{"_id":ObjectID(4685481851451we55),"title":"MongoDB overview"}
{"_id":ObjectID(4685481851451we56),"title":"NoSQL overview"}
{"_id":ObjectID(4685481851451we57),"title":"tutorials overview"}

>db.mycol.update({"title":"MongoDB overview"},
{$set: {"title":"tutorials overview"}})                     #更新标题

>db.mycol.update({"title":"MongoDB overview"},
{$set: {"title":"tutorials overview"}},{multi:true})    #要实现多个更新在后面加{multi:true}
>db.mycol.find()                                                   #查询插入的数据

save()方法    替换现有符合此ID文档的所有数据
>db.collection_name.save({id.ObjectID(),new_data})
db.mycol.save({"_id":ObjectID(5689745956adf56as7),
                        "title":"yiibai new topic",
                        "by":"yiibai"})
>db.mycol.find()                                        #查询插入的数据

名称栏目:MongoDB数据库—基础语法
URL分享:http://pwwzsj.com/article/jighoi.html