mongodb介绍与使用

NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。
NoSQL表示不仅仅是SQL

MongoDB 是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。可存储非常复杂的数据,具有以下特点:
1,支持各种编程语言,java、c++、PHP、c#、python等。
2,面向文档存储,文档格式是面向JSON的BSON格式。
3,提供丰富的查询功能,支持对数据建立索引。
4,模式自由,不需要实现定义文档格式,可以任意改变文档格式

使用shell操作mongodb
1,安装好mongodb后,进入bin目录,运行mongod启动monggodb数据库,运行./mongo,便进入shell
2,使用命令“user test”切换到test数据库,mongodb会检测test是否存在,如果不存在会自动创建,然后使用db.createUser在当前数据库中创建一个用户。
创建用户如下:

db.createUser({
user:"admin",
pwd:"123456",
roles:[
{role:"readWrite",db:"test"}]
})

user,pwd分别是用户名,密码。role代表用户角色,readWrite表示数据库读写权限,数据库是test
后续使用数据库就需要登陆:

使用数据库test:
use test
db.auth("admin","123456")

3,直接使用use 数据库名可以切换到想要操作的数据库,
db.help()用来获取更多关于db命令的内容;

4,insert插入文档

db.test.insert({_id:"hello",desc:"explore",tag:["ll","mm"]})

在mongodb中_id中的下划线具有特殊的意义,表示文档主键,如果文档没有提供次主键,则自动生成一个ObjectID类型的主键,ObjectID是mongodb的一种特殊类型。用12字节存储,分为4字节时间戳,3字节机器唯一标识,2字节进程标识,以及最后三字节自增。

5,find查询文档

db.test.find()查询所有文档
db.test.find({_id:"hello"})查询_id为hello的文档
带条件的查询:
db.test.find({_id:{$ne:hello}})查询_id不等于hello的文档

常用的查询比较:

$gt  >
$gte   >=
$lt   <
$lte   <=
$eq   ==
$ne   !=
$in   in
$nin   not in

6,update更新文档

db.collection.updateOne(<filter>,<update>,<option>)
db.collection.updateMany(<filter>,<update>,<option>)
db.collection.replaceOne(<filter>,<replacememt>,<options>)

7,删除文档
没有指定条件,删除所有文档:

扫描二维码关注公众号,回复: 2646575 查看本文章
db.test.deleteMany({})

按条件删除:

db.test.deleteOne({_id:"hello"})

猜你喜欢

转载自blog.csdn.net/liutaiyi8/article/details/81510125