ThinkJS中如何使用MongoDB的CURD操作

 更新时间:2016年12月13日 11:38:10   投稿:daisy  
最近因为心血来潮想要试试thinkJS操作mongoDB,去官方文档看了看,默认是只给了mysql的配置,源代码也是没有配置mongo的,只有一个官方案例,无奈只能自己学习了,下面是自己的一些学习总结,有需要的朋友们可以参考借鉴,下面来一起看看吧。

前言

众所周知目前使用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);
 }
 }
 ....

总结

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

相关文章

  • js类库styled-components快速入门教程

    js类库styled-components快速入门教程

    这篇文章主要为大家介绍了js类库styled-components快速入门的教程示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • 分享5个好用的javascript文件上传插件

    分享5个好用的javascript文件上传插件

    本文为大家分享了5个不错的javascript文件上传插件,选择一款功能强大使用简单的上传插件将为我们节省很多开发时间
    2018-09-09
  • Highcharts入门之简介

    Highcharts入门之简介

    Highcharts 是一个用纯JavaScript编写的一个图表库, 能够很简单便捷的在web网站或是web应用程序添加有交互性的图表,并且免费提供给个人学习、个人网站和非商业用途使用。下面通过本文的介绍及实例一起来学习学习吧。
    2016-08-08
  • Highcharts学习之数据列

    Highcharts学习之数据列

    数据列配置是 Highcharts 最复杂也是最灵活的配置,如果说 Highcharts 是灵活多变,细节可定制的话,那么数据列配置就是这个重要特性的核心。
    2016-08-08
  • 精通JavaScript 纠正 cleanWhitespace函数

    精通JavaScript 纠正 cleanWhitespace函数

    这个函数用在火狐(firefox)上面老是出错,今天仔细研究了下,改正了,希望别人不要遇到我这样的问题
    2010-03-03
  • Three.js学习之Lamber材质和Phong材质

    Three.js学习之Lamber材质和Phong材质

    本篇将介绍基本材质以及两种基于光照模型的材质(Lamber与Phong),有需要的小伙伴们可以参考学习。
    2016-08-08
  • 组件库Monmrepo架构与开发调试环境构建详解

    组件库Monmrepo架构与开发调试环境构建详解

    这篇文章主要为大家介绍了组件库Monmrepo架构与开发调试环境构建详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • 交互式可视化js库gojs使用介绍及技巧

    交互式可视化js库gojs使用介绍及技巧

    这篇文章主要介绍了如何使用可视化库gojs及使用时的小技巧,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2022-01-01
  • 浅谈JavaScript前端开发的MVC结构与MVVM结构

    浅谈JavaScript前端开发的MVC结构与MVVM结构

    以AngularJS为代表的MVVM结构框架或库这两年来在前端界真是火到不行,大有对抗传统jQuery绑定思想的趋势,这里我们结合传统的MVC结构,来浅谈JavaScript前端开发的MVC结构与MVVM结构
    2016-06-06
  • 使用RequireJS库加载JavaScript模块的实例教程

    使用RequireJS库加载JavaScript模块的实例教程

    RequireJS库的主旨就是一个js文件的模块加载器,可以独立于框架来进行使用,这里我们整理了使用RequireJS库加载JavaScript模块的实例教程,需要的朋友可以参考下
    2016-06-06

最新评论