mongodb操作

koa

koa 是express超集(进阶版)

前后端分离和耦合概念介绍

1.面向过程 -> 面向对象 -> 面向服务

前端:

通过nginx + tomcat的方式(也可以中间加一个node.js)有效的进行解耦,并且前后端分离会为以后的大型分布式架构,弹性计算架构,微服务架构,多端化服务(多种客户端,例如:浏览器,车载终端,安卓,IOS等等)打下坚实的基础。

核心思想:
前端html页面通过ajax调用后端的restuful api接口并使用json数据进行交互。

数据库: Node.js mongodb(bson json的超集)

1.分类:
关系型数据库:Mysql;
非关系型数据库 :mongodb;

mongodb操作命令

1.mongodb链接地址:
mongodb://127.0.0.1:27017
2. use db_name
举例:
创建: 我们的数据库中没有 你要切换的数据库, 那么即为创建
切换: 数据库已经存在, 我们从一个数据库切换到另一个数据库
3. show dbs:
将本地的所有数据列出来
4.db/db.getName()
查看当前使用的数据库
5.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()
针对文档(document)的操作

1.添加
1.db.coll_name.save({}) 推荐
2.db.coll_name.insertOne({})
3.db.coll_name.insert({})
2.查询
db.coll_name.find(arg1,arg2) 所有的
参数解释:
arg1 表示的是匹配条件
arg2 表示将来输出的内容匹配 0表示不要 ,1表示要
举例:

 db.movies.find({year:'1993'},{_id:0,title:1})

升序:

 db.movies.find({year:'1993'},{_id:0,title:1}).sort({year: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(2)

优先级:
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()  16

3.删除

db.coll_name.remove({})

4.修改

db.coll_name.update(arg1, arg2, arg3, arg4)

参数解释:
1.arg1:匹配条件
2.arg2:修改的具体内容
3.arg3: false/ true; 匹配几条 false 一条 true 多条
4.arg4 :false/ true; 修改几条 false 一条 true 多条

KaTeX parse error: Expected '}', got 'EOF' at end of input: …ate({age:120},{inc: {age: 80}},false,true)

KaTeX parse error: Expected '}', got 'EOF' at end of input: …ate({age:120},{inc: {age: 80}},false,true)

1.1update命令

update命令格式:

db.collection.update(criteria,objNew,upsert,multi)

参数说明:

criteria:查询条件

objNew:update对象和一些更新操作符

upsert:如果不存在update的记录,是否插入objNew这个新的文档,true为插入,默认为false,不插入。

multi:默认是false,只更新找到的第一条记录。如果为true,把按条件查询出来的记录全部更新。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值