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中switch case循环实例代码
Dec 30 Javascript
对 jQuery 中 data 方法的误解分析
Jun 18 Javascript
Bootstrap中的表单验证插件bootstrapValidator使用方法整理(推荐)
Jun 21 Javascript
JS实现刷新父页面不弹出提示框的方法
Jun 22 Javascript
基于JavaScript实现添加到购物车效果附源码下载
Aug 22 Javascript
JavaScript中splice与slice的区别
May 09 Javascript
微信小程序如何获取用户收货地址
Nov 27 Javascript
傻瓜式vuex语法糖kiss-vuex整理
Dec 21 Javascript
JavaScript模板引擎原理与用法详解
Dec 24 Javascript
JavaScript实现随机五位数验证码
Sep 27 Javascript
解决Vue项目打包后打开index.html页面显示空白以及图片路径错误的问题
Oct 25 Javascript
JavaScript实现多文件下载方法解析
Aug 07 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
六酷社区论坛HOME页清新格调免费版 下载
2007/03/07 PHP
修改Zend引擎实现PHP源码加密的原理及实践
2008/04/14 PHP
Yii2实现让关联字段支持搜索功能的方法
2016/08/10 PHP
PHP5.6.8连接SQL Server 2008 R2数据库常用技巧分析总结
2019/05/06 PHP
Prototype使用指南之selector.js
2007/01/10 Javascript
jQuery学习笔记之jQuery的动画
2010/12/22 Javascript
js 获取计算后的样式写法及注意事项
2013/02/25 Javascript
js获得页面的高度和宽度的方法
2014/02/23 Javascript
使用JavaScript和C#中获得referer
2014/11/14 Javascript
AngularJS基础 ng-dblclick 指令用法
2016/08/01 Javascript
js表单登陆验证示例
2016/10/19 Javascript
AngularJS基于factory创建自定义服务的方法详解
2017/05/25 Javascript
详解Vue单元测试case写法
2018/05/24 Javascript
vue中前进刷新、后退缓存用户浏览数据和浏览位置的实例讲解
2018/09/21 Javascript
vue-rx的初步使用教程
2018/09/21 Javascript
基于nodejs的微信JS-SDK简单应用实现
2019/05/21 NodeJs
vue实现自定义H5视频播放器的方法步骤
2019/07/01 Javascript
[01:38:19]夜魇凡尔赛茶话会 第五期
2021/03/11 DOTA
Python多进程同步Lock、Semaphore、Event实例
2014/11/21 Python
Python中使用HTMLParser解析html实例
2015/02/08 Python
Python制作CSDN免积分下载器
2015/03/10 Python
全面理解Python中self的用法
2016/06/04 Python
python安装Scrapy图文教程
2017/08/14 Python
读取本地json文件,解析json(实例讲解)
2017/12/06 Python
Ubuntu下Python2与Python3的共存问题
2018/10/31 Python
Python八皇后问题解答过程详解
2019/07/29 Python
浅谈keras保存模型中的save()和save_weights()区别
2020/05/21 Python
Python Scrapy图片爬取原理及代码实例
2020/06/12 Python
PyCharm2019.3永久激活破解详细图文教程,亲测可用(不定期更新)
2020/10/29 Python
10分钟入门CSS3 Animation
2018/12/25 HTML / CSS
写一个函数,要求输入一个字符串和一个字符长度,对该字符串进行分隔
2015/07/30 面试题
土木工程建筑专业毕业生求职信
2013/10/21 职场文书
学习党的群众路线教育实践活动心得体会
2014/03/01 职场文书
2014基层党员干部学习全国两会心得体会
2014/03/17 职场文书
2016幼儿教师自荐信范文
2016/01/28 职场文书
Python利用Turtle绘制哆啦A梦和小猪佩奇
2022/04/04 Python