MongoDB
为什么使用MongoDB/什么场景下使用它?
- 数据量大
- 写入频繁
- 价值低
对MongoDB有一个较为深刻的认识:
- c++ 编写的一个基于分布式文件存储的数据库;
- 是一个接近于关系型数据库的非关系型数据库;
- 支持的数据,结构较为松散,是类似于json的bson格式,可以存储复杂的数据类型;
- 模式自由,支持动态查询,支持索引;
mongoDB的体系结构(数据库/集合/文档):
是一种,面型用户的层次结构,主要由document,collection database三部分构成

document: 类似于关系型数据库中的一行记录;
collection:由document组建成的集合,collection中存放document,类似于MYSQL中的表;
database: 数据库; MongoDB实例,支持多个数据库;
会安装 mongodb (mongod --dbpath=xxx -port=27017)
mongodb的命令:
-
选择和创建数据库
show dbs use db注意的是 use db 并不会直接创建数据库,需要先创建集合collection,集合内存入文档,才会查询到数据库db;
![image-20211220115641947]()
-
插入和查询文档
db.collection.insert(json);db 数据库 collection 集合 insert插入 bson,当做json使用即可;
db.collection.find(); db.collection.findOne({json条件}); db.collection.find().limit(2)find() 查询所有;
findOne({json}):查询符合json条件的第一条数据;
find().limit(x); 查询所有的数据,前x条;
-
修改和删除文档
db.collection.uopdate({_id:"1"},{user:"lisi"}); db.collection.update({_id:"1"},{$set:{user:"lisi"}}); db.collection.remove(条件); db.collection.remove({}); 删除所有update() 十分危险,必须附加修改器$set,不然就不是修改,而是覆盖
-
统计条数
db.collection.count(); db.collection.count(条件); -
模糊查询
和查询一致,支持正则表达式
\^xxxx$\ -
大于,小于,不等于
json 表达 :
{"field":{$gt:value}}大于value的字段field$gt大于$lt小于$gte大于等于$lte小于等于$ne不等于 -
包含和不包含
$in$nin -
条件连接
$and$or且 或 -
列值增长
$inc
MongoDB数据类型
String 最常用的UTF-8合法
mongodb 的主键 _id 自增 查询写入速度很快


浙公网安备 33010602011771号