一、MongoDB 数据库的特点及安装
- MongoDB 数据库的特点
- 面向文档,模式自由
- json数据模式(bson)(可以初略理解为字典)
- 多级引索
- 高可用复制集
- 水平扩展
- 跨平台、多种语言接口
- 弱事务类型
- 大数据、高并发、弱事务的web2.0互联网应用。
- 优点:弱一致性,文档格式存储方式,内置gridFS(分布式文件系统)
- 缺点:不支持事务,空间占用大
- MongoDB 数据库的安装
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常见数据类型
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() #查询插入的数据
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341