欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ThinkJS中如何使用MongoDB的CURD操作

 更新時(shí)間:2016年12月13日 11:38:10   投稿:daisy  
最近因?yàn)樾难獊沓毕胍囋噒hinkJS操作mongoDB,去官方文檔看了看,默認(rèn)是只給了mysql的配置,源代碼也是沒有配置mongo的,只有一個(gè)官方案例,無奈只能自己學(xué)習(xí)了,下面是自己的一些學(xué)習(xí)總結(jié),有需要的朋友們可以參考借鑒,下面來一起看看吧。

前言

眾所周知目前使用Node.js + mongodb已經(jīng)成為很多公司的技術(shù)棧。ThinkJS其實(shí)也提供了對(duì)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(); 
 }

創(chuàng)建數(shù)據(jù)

addTag(tag) { 
 return this.add(tag);
 }

更新數(shù)據(jù)

updateTag(id,data) { 
 return this.where({'_id':id}).update(data);
 }

刪除數(shù)據(jù)

 removeOne(id) {
 return this.where({'_id':id}).delete();
 }

這樣你需要什么只需要調(diào)用相應(yīng)模型的方法就好了。

一個(gè)簡單的接口如下:

async createAction() { 
 let name = this.post('name');
 let contents = this.post('contents');
 // 獲取模型實(shí)例
 let m = this.model('tag');
 let res = await m.addTag({
  'name': name,
  'contents': contents,
  'count': 0,
 });
 if(res) {
  this.success('');
 }else{
  this.apiErrorHandle(4000);
 }
 }
 ....

總結(jié)

以上就是這篇文章的全部內(nèi)容改了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

相關(guān)文章

  • 淺談輕量級(jí)js模板引擎simplite

    淺談輕量級(jí)js模板引擎simplite

    這篇文章主要介紹了淺談輕量級(jí)js模板引擎simplite的簡介和用法的相關(guān)資料,需要的朋友可以參考下
    2015-02-02
  • Three.js學(xué)習(xí)之正交投影照相機(jī)

    Three.js學(xué)習(xí)之正交投影照相機(jī)

    本篇主要介紹照相機(jī)中的正交投影照相機(jī)。學(xué)習(xí)Three.js的小伙伴們可以參考學(xué)習(xí)。
    2016-08-08
  • JavaScript庫omit源碼解析

    JavaScript庫omit源碼解析

    這篇文章主要為大家介紹了JavaScript庫omit源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • 基于d3.js實(shí)現(xiàn)實(shí)時(shí)刷新的折線圖

    基于d3.js實(shí)現(xiàn)實(shí)時(shí)刷新的折線圖

    本文用實(shí)例演示如何用d3.js實(shí)現(xiàn)實(shí)時(shí)刷新的折線圖,非常具有實(shí)用價(jià)值,需要的朋友可以參考下。
    2016-08-08
  • node.js中的socket.io入門實(shí)例

    node.js中的socket.io入門實(shí)例

    這篇文章主要介紹了node.js中的socket.io入門實(shí)例,并對(duì)websocket等反向ajax技術(shù)做了介紹,需要的朋友可以參考下
    2014-04-04
  • Highcharts學(xué)習(xí)之?dāng)?shù)據(jù)列

    Highcharts學(xué)習(xí)之?dāng)?shù)據(jù)列

    數(shù)據(jù)列配置是 Highcharts 最復(fù)雜也是最靈活的配置,如果說 Highcharts 是靈活多變,細(xì)節(jié)可定制的話,那么數(shù)據(jù)列配置就是這個(gè)重要特性的核心。
    2016-08-08
  • JS日程管理插件FullCalendar簡單實(shí)例

    JS日程管理插件FullCalendar簡單實(shí)例

    JS日程管理插件FullCalendar是一款基于jQuery的日歷日程插件,適用于各種日程安排、工作計(jì)劃等場景,您可以很方便的查看查看待辦事項(xiàng),標(biāo)記重要事項(xiàng)以及綁定點(diǎn)擊和拖動(dòng)事件,能快速的整合到您的項(xiàng)目中,本文將簡單介紹FullCalendar的使用
    2017-02-02
  • js類庫styled-components快速入門教程

    js類庫styled-components快速入門教程

    這篇文章主要為大家介紹了js類庫styled-components快速入門的教程示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • JS日程管理插件FullCalendar中文說明文檔

    JS日程管理插件FullCalendar中文說明文檔

    JS日程管理插件FullCalendar提供了豐富的屬性設(shè)置和方法調(diào)用,開發(fā)者可以根據(jù)FullCalendar提供的API快速完成一個(gè)日歷日程的開發(fā),本文將FullCalendar的常用屬性和方法、回調(diào)函數(shù)等整理成中文文檔,以供參閱。
    2017-02-02
  • Three.js學(xué)習(xí)之幾何形狀

    Three.js學(xué)習(xí)之幾何形狀

    本文利用實(shí)例代碼詳細(xì)介紹了一些Three.js中的幾何形狀的實(shí)現(xiàn)過程,包括立方體、平面與球體,有需要的朋友們可以學(xué)習(xí)下。
    2016-08-08

最新評(píng)論