MongoDB是由C++语言编写的是一个机遇分布式文件存储的开源数据库系统。
MongoDB将数据存储为一个文档,MongoDB文档类似于JSON对象。数据结构由键值(key=>value)对组成。字段值可以包含其他文档、数组及文档数组。
{
name:"yuanfang",
age:18,
address: Shanghai,
grade:"A",
group:["music","sing"]
}
MongoDB是一个面向文档存储的数据库,操作起来比较简单和容易
MongoDB支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。
MongoDB使用update()命令可以实现替换完成的文档(数据)或者一些指定的数据字段
MongoDB支持各种编程语言:ruby、python、java、c++,php,C#等多种语言。
MongoDB中基本的概念是文档、集合、数据库
一个MongoDB中可以建立多个数据库。
“show dbs”命令可以显示所有数据的列表。
运行“use”命令,可以连接到一个指定的数据库。
数据库也通过名字来标识。
数据库名可以是满足以下条件的任意UTF-8字符串:
1)不能是空字符串("").
2)不得含有’ '(空格)、.、$、/、\、和\0(空字符)
3)应全部小写
4)最多64字节
文档是一组键值(key-value)对。文档相同的字段不需要相同的数据类型,与关系型数据库有很大的区别,也是MongoDB非常突出的特点。
文档实例
1){“url”:“www.bupt.edu.cn”,“name”:“beijing”}
2)文档中的键/值对是有序的。
3)文档中的值不仅可以是在双引号里面的字符串,还可以是其他的数据类型(甚至可以是整个嵌入的文档)
4)MongoDB区分类型和大小写。
5)MongoDB的文档不能有重复的键
6)文档的键是字符串。除了少数例外情况,键可以使用任意UTF-8字符。
MongoDB集合
集合就是MongoDB文档组,类似于RDBMS(关系数据库管理系统)中的表格
集合没有固定的结构,意味着对集合可以插入不同格式和类型的数据,但通常情况下我们插入集合的数据都会有一定的关联性
合法的集合名:
1)集合名不能是空字符串""。
2)集合名不能含有\0字符(空字符串),这个字符表示集合名的结尾
3)集合名不能以"system."开头,这是为系统集合保留的前缀
4)用户创建的集合名字不能含有保留字符。有些驱动程序的确支持在集合名里面包含$,这是因为某些系统生成的集合中包含该字符。除非你要访问这种系统创建的集合,否则千万不要在名字里出现$
MongoDB数据库创建
创建了数据库mongotest
若直接用show dbs命令查看,发现刚创建的数据库mongotest并不在数据库的列表中;要显示它,需要向mongotest数据库插入一些数据。
MongoDB删除数据库的语法:db.dropDatabase()
MongoDB中使用createCollection()方法来创建集合。使用show tables或者show collections来查看集合。
语法格式:db.createCollection(name,options)
MongoDB创建集合
在MongoDB中,也可以不创建集合。直接插入文档,这样MongoDB会自动创建集合
MongoDB中使用drop()方法来删除集合
语法格式:db.collection.drop()
如果成功删除选定集合,则drop()方法返回true,否则返回false
MongoDB使用insert()向集合中插入文档,语法如下:db.COLLECTION_NAME.insert(document)
在MongoDB的test数据库的collection4集合中存入以下文档:
查看已插入文档
插入文档,
插入document
MongoDB更新文档
使用update()方法来更新MongoDB集合中的文档
update()方法用于更新已存在的文档。
db.collection.update(,,{upsert:,multi:,writeConcern:})
使用update更新该文档的标题
查看
以上语句只会修改第一条发现的文档。如要修改多条文档,则需设置multi参数为true
查看更新后的结果
MongoDB的remove()函数用来移除集合中的数据。
remove()方法的基本方法格式:
db.collection.remove(,{justOne:,writeConcern:})
MongoDB删除文档
MongoDB查询文档使用find()方法。
find()方法以非结构化的方式来显示所有文档。pretty()方法以格式化的方式来显示所有文档。
db.collection.find(query,projection)
MongoDB查询文档