mongodb02

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介:
memcached     redis : kv数据库(key/value)

mongodb 文档数据库,存储的是文档(Bson->json对象二进制化后叫bson,js的二进制对象,引擎是用js实现的).

特点:内部执行引擎为JS解释器, 把文档存储成bson结构,在查询时,转换为JS对象,并可以通过熟悉的js语法来操作.

复制代码
mongo和传统型数据库(mqsql)相比,最大的不同:
传统型数据库: 结构化数据, 定好了表结构后,每一行的内容,必是符合表结构的,就是说--列的个数,类型都一样.
mongo文档型数据库: 表下的每篇文档,都可以有自己独特的结构(json对象都可以有自己独特的属性和值)

思路: 如果有电影, 影评, 影评的回复, 回复的打分
在传统型数据库中, 至少要4张表, 关联度非常复杂.
在文档数据库中,通过1篇文档,即可完成.  体现出文档型数据库的反范式化.
{
 fiim:’天龙八部’
 comment:[
{content:’王家卫的电影风格’,
 reply:[‘支持’,’好’]
}
]
}
复制代码
mongodb的安装
1: 下载mongodb www.mongodb.org  下载最新的stable版
2: 解压文件
3: 不用编译,本身就是编译后的二进制可执行文件.

复制代码
4: 启动mongod服务

5: mongodb非常的占磁盘空间, 刚启动后要占3-4G左右,
如果你用虚拟机练习,可能空间不够,导致无法启动.
可以用 --smallfiles 选项来启动, 
将会占用较小空间  400M左右.
复制代码

 

复制代码
1.1: show dbs  查看当前的数据库,admin放的是和管理相关的,用户的操作,安全配置。Local:放其他数据库的信息,这2个库不要动。
1.2 use  test 选库
1.2 show  tables/collections 查看当前库下的collection,mongodb的表不叫表叫collection,
1.3 如何创建库?(没有createdatabase 命令)
Mongodb的库是隐式创建,你可以use 一个不存在的库,use shop就创建了一个库,
然后在该库下创建collection,即可创建库db.createCollection(‘user’)  
创建collection,这样就创建了一个库和collection(表),把表创建完了库才能创建好。
use shop
db.createCollection("user")
show dbs:
admin  0.000GB
local  0.000GB
shop   0.000GB
test   0.000GB
表就是一个个的集合,里面是一个个的文档,没有表的结构。表里面就是一个个的json对象。
use shop
show tables
db.user.insert({name:"1yw",age:1120})
db.user.insert({name:"1yww",age:1120,tt:"1oo"})
db.user.insert({na:113,ageeee:"1888"})
db.user.insert({ _id : 1112, ma : 113, ageeee : "1888",aaa:{aa:"ll0",sss:"ddddd"} })
db.user.insert({_id:1113,ss:[123,"ddd",'kk'],ma: 113, ageeee : "1888",aaa:{aa:"ll0",sss:"ddddd"} })

db.user.find():
{ "_id" : ObjectId("5a448f0283c2d5efb2d581d8"), "name" : "yw", "age" : 120 }
{ "_id" : ObjectId("5a448f0283c2d5efb2d581d9"), "name" : "yww", "age" : 120, "tt
" : "oo" }
{ "_id" : ObjectId("5a448f0283c2d5efb2d581da"), "na" : 13, "ageeee" : "888" }
{ "_id" : ObjectId("5a448f8283c2d5efb2d581db"), "name" : "1yw", "age" : 1120 }
{ "_id" : ObjectId("5a448f8283c2d5efb2d581dc"), "name" : "1yww", "age" : 1120, "
tt" : "1oo" }
{ "_id" : ObjectId("5a448f8283c2d5efb2d581dd"), "na" : 113, "ageeee" : "1888" }
自己指定id:
{ "_id" : 1000, "name" : "1yw", "age" : 1120 }
{ "_id" : 1001, "name" : "1yww", "age" : 1120, "tt" : "1oo" }
{ "_id" : 1002, "na" : 113, "ageeee" : "1888" }
{ "_id" : 1113, "ss" : [ 123, "ddd", "kk" ], "ma" : 113, "ageeee" : "1888", "aaa
" : { "aa" : "ll0", "sss" : "ddddd" } }



Collection的意思没有,表是有结构的是有意思的,collection只是一个口袋一个集合。
1.5 collection允许隐式创建
Db.collectionName.insert(document);

show collections  :user
db.goods.insert({1:1,2:'2','3':3})   //就默认创建了goods这个collectio(表),没必要提前创建,collectios是表的集合
show collections:goods  user
db.goods.find()://不同的数据库不能操作,要切换数据库,
{ "_id" : ObjectId("5a44961e83c2d5efb2d581de"), "1" : 1, "2" : "2", "3" : 3 }


1.6 db.collectionName.drop() ,
删除collection
use test
show tables
db.user.drop()
show collections


1.7 db.dropDatabase();
删除database
use shop        //先移到本数据库
show tables
db.dropDatabase()

use test
show tables
db.dropDatabase()
show dbs
复制代码

 



本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/8135441.html,如需转载请自行联系原作者
相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
NoSQL 安全 数据库连接
MongoDB 常见使用
MongoDB 常见使用
410 0
MongoDB 常见使用
|
7月前
|
NoSQL MongoDB
mongodb
mongodb
25 0
|
7月前
|
存储 NoSQL MongoDB
|
8月前
|
NoSQL 前端开发 MongoDB
MongoDB应用
初始化路由模板 数据库和前端页面交互 编写注册的后台接口 先连接数据库 和前台进行数据交互 文章的后台接口 先查询所有的文章内容 发文章 一些验证方法 邮箱验证 用户名随机生成
39 0
|
8月前
|
存储 NoSQL 关系型数据库
什么时候选择MongoDB
什么时候选择MongoDB
65 2
|
8月前
|
存储
MongoDB-片键选择技巧
使用分片的目的是为了将数据存储到不同的服务器上, 所以在选择片键的时候,应该选择取值范围更广的字段作为片键,因为如果取值范围太小, 那么划分出来的数据段就太少, 那么分配到不同服务器的概率就越小, 例如:取值如果只有 true 或 false, 那么就只能划分出两个数据段, 那么也就最多只能保存到两台服务器上。
55 0
|
9月前
|
JSON NoSQL MongoDB
初学mongoDB(一)
初学mongoDB
47 0
|
9月前
|
消息中间件 分布式计算 NoSQL
MongoDB适用场景
MongoDB适用场景
|
10月前
|
存储 SQL 分布式计算
MongoDB的介绍
MongoDB的介绍
56 0
|
NoSQL Shell Linux