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 相关文章推荐
奇妙的js
Sep 24 Javascript
jquery ui dialog ie8出现滚动条的解决方法
Dec 06 Javascript
深入理解JavaScript高级之词法作用域和作用域链
Dec 10 Javascript
轻松掌握JavaScript中的Math object数学对象
May 26 Javascript
jQuery实现鼠标滚动图片延迟加载效果附源码下载
Jun 28 Javascript
微信小程序 request接口的封装实例代码
Apr 26 Javascript
JavaScript模拟文件拖选框样式v1.0的实例
Aug 04 Javascript
react-native-tab-navigator组件的基本使用示例代码
Sep 07 Javascript
基于layui实现高级搜索(筛选)功能
Jul 26 Javascript
ant design实现圈选功能
Dec 17 Javascript
vue引入静态js文件的方法
Jun 20 Javascript
基于Vue.js+Nuxt开发自定义弹出层组件
Oct 09 Javascript
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连接access数据库
2008/03/27 PHP
PHP 开发环境配置(Zend Server安装)
2010/04/28 PHP
PHP图片处理之图片旋转和图片翻转实例
2014/11/19 PHP
学习php设计模式 php实现建造者模式
2015/12/07 PHP
php数组冒泡排序算法实例
2016/05/06 PHP
深入讲解PHP的对象注入(Object Injection)
2017/03/01 PHP
理解JavaScript中的对象 推荐
2011/01/09 Javascript
Jquery命名冲突解决的五种方案分享
2012/03/16 Javascript
浅谈javascript中自定义模版
2015/01/29 Javascript
DOM 高级编程
2015/05/06 Javascript
javascript中利用柯里化函数实现bind方法【推荐】
2016/04/29 Javascript
JavaScript获取移动设备型号的实现代码(JS获取手机型号和系统)
2018/03/10 Javascript
vue 每次渲染完页面后div的滚动条保持在最底部的方法
2018/03/17 Javascript
原生JS实现的简单轮播图功能【适合新手】
2018/08/17 Javascript
react 父子组件之间通讯props
2018/09/08 Javascript
vue解决弹出蒙层滑动穿透问题的方法
2018/09/22 Javascript
如何实现一个webpack模块解析器
2018/10/24 Javascript
JavaScript实现五子棋游戏的方法详解
2019/07/08 Javascript
python简单猜数游戏实例
2015/07/09 Python
Python3.6实现带有简单界面的有道翻译小程序
2019/04/16 Python
Python3简单实现串口通信的方法
2019/06/12 Python
PyQt5实现从主窗口打开子窗口的方法
2019/06/19 Python
对python中的控制条件、循环和跳出详解
2019/06/24 Python
基于matplotlib xticks用法详解
2020/04/16 Python
Django封装交互接口代码
2020/07/12 Python
pandas to_excel 添加颜色操作
2020/07/14 Python
美国网上眼镜商城:Zenni Optical
2016/11/20 全球购物
Lulu Guinness露露·吉尼斯官网:红唇包
2019/02/03 全球购物
英国户外服装品牌:Craghoppers
2019/04/25 全球购物
辞职信范文大全
2015/03/02 职场文书
2015年党员个人工作总结
2015/05/13 职场文书
关于运动会的广播稿
2015/08/19 职场文书
2019年关于小学生课外阅读情况的分析报告
2019/12/02 职场文书
SQLServer2008提示评估期已过解决方案
2021/04/12 SQL Server
python函数的两种嵌套方法使用
2022/04/02 Python
Python  序列化反序列化和异常处理的问题小结
2022/12/24 Python