ThinkJS中如何使用MongoDB的CURD操作


Posted in Javascript onDecember 13, 2016

前言

众所周知目前使用Node.js + mongodb已经成为很多公司的技术栈。ThinkJS其实也提供了对mongo的支持,虽然官方文档较少,但是保证了ORM的API的一致性,所以用起来需要查看基本的>Model api

基本的模型文件放在common/model下

获取列表

getList(q, page) { 
 return this.select();
 }

分页加条件搜索

search(q, page) { 
 if(q) {
  q = new RegExp(q,'i');
 }
 return this.where({'name':{ $regex: q}}).page(page, 20).countSelect();
 }

获取详情

getDetail(id) { 
  return this.where({'_id':id}).select(); 
 }

创建数据

addTag(tag) { 
 return this.add(tag);
 }

更新数据

updateTag(id,data) { 
 return this.where({'_id':id}).update(data);
 }

删除数据

removeOne(id) {
 return this.where({'_id':id}).delete();
 }

这样你需要什么只需要调用相应模型的方法就好了。

一个简单的接口如下:

async createAction() { 
 let name = this.post('name');
 let contents = this.post('contents');
 // 获取模型实例
 let m = this.model('tag');
 let res = await m.addTag({
  'name': name,
  'contents': contents,
  'count': 0,
 });
 if(res) {
  this.success('');
 }else{
  this.apiErrorHandle(4000);
 }
 }
 ....

总结

以上就是这篇文章的全部内容改了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

Javascript 相关文章推荐
Javascript获取随机数的实现方法
Jun 22 Javascript
JS判断iframe是否加载完成的方法
Aug 03 Javascript
微信小程序前端源码逻辑和工作流
Sep 25 Javascript
js返回顶部实例分享
Dec 21 Javascript
canvas绘图不清晰的解决方案
Feb 28 Javascript
深入理解vue Render函数
Jul 19 Javascript
解决vue组件中使用v-for出现告警问题及v for指令介绍
Nov 11 Javascript
利用JavaScript的%做隔行换色的实例
Nov 25 Javascript
JS内部事件机制之单线程原理
Jul 02 Javascript
微信小程序实现页面左右滑动
Nov 16 Javascript
JavaScript实现点击切换功能
Jan 27 Javascript
vue3.0中使用element的完整步骤
Mar 04 Vue.js
Bootstrap Img 图片样式(推荐)
Dec 13 #Javascript
Javascript oop设计模式 面向对象编程简单实例介绍
Dec 13 #Javascript
教大家轻松制作Bootstrap漂亮表格(table)
Dec 13 #Javascript
AngularJS自定义控件实例详解
Dec 13 #Javascript
Node.js中process模块常用的属性和方法
Dec 13 #Javascript
Angular ng-repeat遍历渲染完页面后执行其他操作详细介绍
Dec 13 #Javascript
node.js 和HTML5开发本地桌面应用程序
Dec 13 #Javascript
You might like
《PHP编程最快明白》第八讲:php启发和小结
2010/11/01 PHP
PHP中读取文件的8种方法和代码实例
2014/08/05 PHP
在Debian系统下配置LNMP的教程
2015/07/09 PHP
JavaScript Event学习第五章 高级事件注册模型
2010/02/07 Javascript
Web跨浏览器进程通信(Web跨域)
2013/04/17 Javascript
利用javascript判断文件是否存在
2013/12/31 Javascript
jquery日历控件实现方法分享
2014/03/07 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
2014/06/05 Javascript
使用jQuery在对象中缓存选择器的简单方法
2015/06/30 Javascript
JavaScript中几种排序算法的简单实现
2015/07/29 Javascript
Bootstrap源码解读导航条(7)
2016/12/23 Javascript
JS随机数产生代码分享
2018/02/24 Javascript
vue.js实现点击后动态添加class及删除同级class的实现代码
2018/04/04 Javascript
详解Vue中数组和对象更改后视图不刷新的问题
2018/09/21 Javascript
创建echart多个联动的示例代码
2018/11/23 Javascript
[52:06]FNATIC vs NIP 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
Python实现发送与接收邮件的方法详解
2018/03/28 Python
python获取文件路径、文件名、后缀名的实例
2018/04/23 Python
python中将正则过滤的内容输出写入到文件中的实例
2018/10/21 Python
在pycharm上mongodb配置及可视化设置方法
2018/11/30 Python
python linecache 处理固定格式文本数据的方法
2019/01/08 Python
用Python爬取QQ音乐评论并制成词云图的实例
2019/08/24 Python
Python如何批量生成和调用变量
2020/11/21 Python
PyCharm Community安装与配置的详细教程
2020/11/24 Python
Python爬虫之Selenium实现键盘事件
2020/12/04 Python
护理专业个人求职简历的自我评价
2013/10/13 职场文书
生产管理的三大手法
2013/11/11 职场文书
职业生涯规划怎么写
2013/12/29 职场文书
体育之星事迹材料
2014/05/11 职场文书
医德考评自我评价
2014/09/14 职场文书
2014年社区重阳节活动策划方案
2014/09/16 职场文书
五年级学生评语大全
2014/12/26 职场文书
聘用合同范本
2015/09/21 职场文书
2016年情人节问候语
2015/11/11 职场文书
《水上飞机》教学反思
2016/02/20 职场文书
人生哲理妙语30条:淡写流年,笑过人生
2019/09/04 职场文书