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