MongoDB的小知识与增删改查
数据库 Node.js mongodb(bson json的超集)
分类:
关系型数据库: MySql、SQLServer、Oracle、Sybase、DB2
非关系型数据库: MongoDB、Hbase、Redis、Neo4j、
MongoDB安装
- 环境变量设置
- 系统服务添加有问题
- 安装
系统不太支持高版本、 降版本 3.2、 3.4
写在mongodb时候, 记得删除之前创建好的文件夹
-
每次启动
最好先net start MongoDB
然后:
mongo
问题?MongodDB
-
MongoDB的存储数据的形式bson
数据库功能是用来存储数据的。
数据库分为关系系数据库和非关系型数据库(nosql)
关系型数据库是由表和表之间的关系组成的,nosql是由集合组成的,集合下面是很多的文档。
非关系型数据库文件存储格式为BSON(一种JSON的扩展)。
MongoDB操作命令
- MongoDB连接地址: mongodb://127.0.0.1:27017
- use db_name
举例:
创建: 我们的数据库中没有 你要切换的数据库, 那么即为创建
切换: 数据库已经存在, 我们从一个数据库切换到另一个数据库
show dbs
//将我们本地的所有数据库列出来
db/db.getName()
查看当前使用的数据库
- MongoDB
数据库 -》 集合 -》 文档
针对数据库(database)的操作
1. help
2. use db_name
3. db||db.getName()
4. db.states()
5. db.dropDatabase()
6. show dbs
7. db.versions()
8. db.getMongo()
针对集合(collections)的操作
//(1)创建一个集合
db.createCollection("collName", {size: 20, capped: true, max: 100});
db.collName.isCapped(); //判断集合是否为定容量
//(2)得到指定名称的集合
db.getCollection("account");
//(3)得到当前db的所有集合
db.getCollectionNames();
//(4)显示当前db所有集合的状态
db.printCollectionStats()
针对文档(docuemnt)的操作
-
添加
1. db.coll_name.save({}) //(推荐使用) 2. db.coll_name.insertOne({}) 3. db.coll_name.insert({})
-
查询
db.coll_name.find() 所有的 db.coll_name.find(arg1,arg2) //参数解释: //arg1 表示的是匹配条件 //arg2 表示将来输出的内容匹配 0 表示不要, 1表示要 举例: db.movies.find({year:'1993'},{_id:0,title:1}//结果得到的是title的数据,_id没有;
升序 short({arg,1})
举例: db.movies.find({year:'1993'},{_id:0,title:1}).sort({year:1})
降序 short({arg,-1})
举例 db.movies.find({year:'1993'},{_id:0,title:1}).sort({year:-1})
截取 某条以前 limit
db.movies.find({year:'1993'},{_id:0,title:1}).limit(5)
截取 某条以后 skip
db.movies.find({year:'1993'},{_id:0,title:1}).skip(5)
优先级:
sort>skip>limit$or表示或者, 可以匹配多个条件 db.teachers.find({$or:[{age:10},{age:40}]})
findOne() 第一条数据
db.teachers.findOne()//得到第一条数据
count() 计数
举例: db.movies.find({year: {$gt:"1993"}},{_id:0,title:1,year:1}).count() //得到数据的长度
-
删除
db.coll_name.remove({})
-
修改
db.coll_name.update(arg1,arg2,arg3,arg4) 参数解释: 6. arg1: 匹配条件 7. arg2: 修改的具体内容 8. arg3: false / true 匹配几条 false 一条 true 多条 9. arg4: false / true 修改几条 false 一条 true 多条 $set 直接设置 db.teachers.update({age:120},{$inc: {age: 80}},false,true) $inc 在当前基础上增加多少 db.teachers.update({age:120},{$inc: {age: 80}},false,true)