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 相关文章推荐
表单元素与非表单元素刷新区别详细解析
Nov 06 Javascript
javascript操纵OGNL标签示例代码
Jun 16 Javascript
JQuery插件iScroll实现下拉刷新,滚动翻页特效
Jun 22 Javascript
对比分析json及XML
Nov 28 Javascript
js创建对象的方式总结
Jan 10 Javascript
浅谈下拉菜单中的Option对象
May 10 Javascript
jQuery Pagination分页插件使用方法详解
Feb 28 Javascript
JS鼠标滚动分页效果示例
Jul 05 Javascript
JS交互点击WKWebView中的图片实现预览效果
Jan 05 Javascript
vue实现lodop打印功能的示例
Nov 11 Javascript
原生js+canvas实现验证码
Nov 29 Javascript
react-native 实现购物车滑动删除效果的示例代码
Jan 15 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遍历数组的方法分享
2012/03/22 PHP
基于PHP一些十分严重的缺陷详解
2013/06/03 PHP
PHP中overload与override的区别
2017/02/13 PHP
Laravel向公共模板赋值方法总结
2019/06/25 PHP
Laravel 集成微信用户登录和绑定的实现
2019/12/27 PHP
PHP数组array类常见操作示例
2020/05/15 PHP
jquery中获得$.ajax()事件返回的值并添加事件的方法
2010/04/15 Javascript
js中精确计算加法和减法示例
2014/03/28 Javascript
js实现的Easy Tabs选项卡用法实例
2015/09/06 Javascript
js实现股票实时刷新数据案例
2017/05/14 Javascript
详解Angular2组件之间如何通信
2017/06/22 Javascript
利用SpringMVC过滤器解决vue跨域请求的问题
2018/02/10 Javascript
js 图片转base64的方式(两种)
2018/04/24 Javascript
layer弹出子iframe层父子页面传值的实现方法
2018/11/22 Javascript
vue实现计步器功能
2019/11/01 Javascript
这样回答继承可能面试官更满意
2019/12/10 Javascript
ckeditor一键排版功能实现方法分析
2020/02/06 Javascript
python获取list下标及其值的简单方法
2016/09/12 Python
利用Python生成文件md5校验值函数的方法
2017/01/10 Python
python+opencv轮廓检测代码解析
2018/01/05 Python
pycharm: 恢复(reset) 误删文件的方法
2018/10/22 Python
解决pycharm回车之后不能换行或不能缩进的问题
2019/01/16 Python
基于 Django 的手机管理系统实现过程详解
2019/08/16 Python
Python3 字典dictionary入门基础附实例
2020/02/10 Python
详解Python3.8+PyQt5+pyqt5-tools+Pycharm配置详细教程
2020/11/02 Python
python字典与json转换的方法总结
2020/12/28 Python
英国领先的汽车轮胎和快速健康中心:Kwik Fit
2017/10/29 全球购物
模具设计与制造专业自荐书
2014/07/01 职场文书
小学生我的梦想演讲稿
2014/08/21 职场文书
个人查摆剖析材料
2014/10/16 职场文书
2014年学习委员工作总结
2014/11/14 职场文书
2014年销售经理工作总结
2014/12/01 职场文书
2015年高一班主任工作总结
2015/05/13 职场文书
催款律师函范文
2015/05/27 职场文书
大学毕业谢师宴致辞
2015/07/27 职场文书
暑假生活随笔
2015/08/15 职场文书