最近开始学习mongodb,做了一些笔记总结:
mongoDB简介
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系型数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
mongoDB安装
1、下载mongoDB,下载地址: https://www.mongodb.com/download-center/community
2、安装mongoDB,配置windows环境变量
3、新建一个文件夹用于存放mongoDB的数据,D:\mongoDBData
4、打开cmd输入mongod --dbpath D:\mongoDBData即可启动mongoDB
启动成功
mongoDB常用命令
首先打开mongodb.bat启动mongodb服务
mongodb.bat
mongod --dbpath D:\mongoDBData
打开mongodb27017.bat启动客户端
mongodb27017.bat
mongo 127.0.0.1:27017/admin
1、创建一个数据库
use [dataBaseName]
如果不插入数据直接退出,数据库会被删除的
2、查看所有数据库
show dbs
3、给指定数据库添加记录
db.[documentName].insert({name:"huang"})
4、查询数据
查询第一条:db.[documentName].find();
查询所有:db.[documentName].findOne();
5、更新文档数据
db.[documentName].update({查询条件},{更新内容})
var p = db.mydata.findOne();
db.mydata.update(p,{name:"uspcat"})
db.mydata.update({name:"wu"},{$set:{age:28}})
db.mydata.update({name:"li"},{$set:{age:28}})
6、删除文档中的数据
db.mydata.remove({age:28})
7、删除数据库集合
db.mydata.drop()
8、删除数据
db.dropDataBase()
9、查看shell中的help
db.help()
mongoDB的API
命名规范
db-text 可以命名
但是使用的时候db.[documentName]要改成db.getCollection(documentName)
另外:mongoDB的shell中内置js引擎可以直接执行js代码
function insert(object){
db.getCollection("huang").insert(object)
}
insert({age:2})
BSON数据类型
1、BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON 它和JSON一样,支持内嵌的文档对象和数组对象,但是BSON有JSON没有的一些数据类型,如Date和BinData类型。BSON具有轻量性可遍历性高效性。
mongoDB与BSON mongoDB对JSON串做了一些增加,使其可以支持更多的数据类型,并且将其作为存储结构 mongoDB这种格式转化成一文档这个概念(Document),因为BSON是schema-free的,所以在MongoDB中所对应的文档也有这个特征 mongoDB以BSON做为其存储结构的一种重要原因是其可遍历性。