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 相关文章推荐
传递参数的标准方法(jQuery.ajax)
Nov 19 Javascript
jQuery 类twitter的文本字数限制带提示效果插件
Apr 16 Javascript
JavaScript高级程序设计 XML、Ajax 学习笔记
Sep 10 Javascript
js 实现css风格选择器(压缩后2KB)
Jan 12 Javascript
将数字转换成大写的人民币表达式的js函数
Sep 21 Javascript
js+css实现tab菜单切换效果的方法
Jan 20 Javascript
简述AngularJS相关的一些编程思想
Jun 23 Javascript
jquery+CSS实现的多级竖向展开树形TRee菜单效果
Aug 24 Javascript
js实现数组去重方法及效率?Ρ? target=
Feb 14 Javascript
JavaScript实现三级联动菜单实例代码
Jun 26 Javascript
详解webpack 热更新优化
Sep 13 Javascript
Vue 用Vant实现时间选择器的示例代码
Oct 25 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
盘点被央视点名过的日本动画电影 一部比一部强
2020/03/08 日漫
在PHP里得到前天和昨天的日期的代码
2007/08/16 PHP
header跳转和include包含问题详解
2012/09/08 PHP
php-fpm配置详解
2014/02/12 PHP
PHP环形链表实现方法示例
2017/09/15 PHP
Laravel创建数据库表结构的例子
2019/10/09 PHP
js select常用操作控制代码
2010/03/16 Javascript
JavaScript 浏览器验证代码(来自discuz)
2010/07/17 Javascript
javascript实现上传图片并预览的效果实现代码
2011/04/11 Javascript
将json当数据库一样操作的javascript lib
2013/10/28 Javascript
vue图片加载与显示默认图片实例代码
2017/03/16 Javascript
Angular4 中常用的指令入门总结
2017/06/12 Javascript
深入浅出es6模板字符串
2017/08/26 Javascript
Webstorm2016使用技巧(SVN插件使用)
2018/10/29 Javascript
Vue+ElementUI table实现表格分页
2019/12/14 Javascript
python结合shell查询google关键词排名的实现代码
2016/02/27 Python
Django框架教程之正则表达式URL误区详解
2018/01/28 Python
python多维数组切片方法
2018/04/13 Python
python输入整条数据分割存入数组的方法
2018/11/13 Python
python抓取搜狗微信公众号文章
2019/04/01 Python
Python两台电脑实现TCP通信的方法示例
2019/05/06 Python
pandas 数据索引与选取的实现方法
2019/06/21 Python
简单了解python中的f.b.u.r函数
2019/11/02 Python
解决pycharm每次打开项目都需要配置解释器和安装库问题
2020/02/26 Python
django model object序列化实例
2020/03/13 Python
HTML5 Canvas中使用用路径描画圆弧
2015/01/01 HTML / CSS
HTML5有哪些新特征
2015/12/01 HTML / CSS
初中女生自我鉴定
2013/12/19 职场文书
社区消防工作实施方案
2014/03/21 职场文书
暑期社会实践先进个人主要事迹
2014/05/22 职场文书
个性车贴标语
2014/06/24 职场文书
党委干部批评与自我批评发言稿
2014/09/28 职场文书
夫妻分居协议书范文
2014/11/26 职场文书
2014年企业党建工作总结
2014/12/18 职场文书
写给同事的离职感言
2015/08/04 职场文书
golang连接MySQl使用sqlx库
2022/04/14 Golang