国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

nodejs nedb 封裝庫與使用方法示例

2024-05-06 15:44:09
字體:
來源:轉載
供稿:網友

本文實例講述了nodejs nedb 封裝庫與使用方法。分享給大家供大家參考,具體如下:

libs/nedb.js

const Datastore = require('nedb');function DB(database) {  let options = {    filename: database,    autoload: true,  };  this.db = new Datastore(options);}DB.prototype.limit = function(offset, limit) {  this.offset = offset || 0;  this.limit = limit || 15;  return this;}DB.prototype.sort = function(orderby) {  this.orderby = orderby;  return this;}DB.prototype.find = function(query, select) {  return new Promise((resolve, reject) => {    let stmt = this.db.find(query || {});    if (this.orderby !== undefined) {      stmt.sort(this.orderby);    }    if (this.offset !== undefined) {      stmt.skip(this.offset).limit(this.limit);    }    if (select != undefined) {      stmt.projection(select || {});    }    stmt.exec((err, docs) => {      if (err) {        return reject(err);      }      resolve(docs);    })  })};DB.prototype.findOne = function(query, select) {  return new Promise((resolve, reject) => {    let stmt = this.db.findOne(query || {});    if (this.sort !== undefined) {      stmt.sort(this.sort);    }    if (select != undefined) {      stmt.projection(select || {});    }    stmt.exec((err, doc) => {      if (err) {        return reject(err);      }      resolve(doc);    })  })}DB.prototype.insert = function(values) {  return new Promise((resolve, reject) => {    this.db.insert(values, (err, newDoc) => {      if (err) {        return reject(err);      }      resolve(newDoc);    })  })}DB.prototype.update = function(query, values, options) {  return new Promise((resolve, reject) => {    this.db.update(query || {}, values || {}, options || {}, (err, numAffected) => {      if (err) {        return reject(err);      }      resolve(numAffected);    })  });}DB.prototype.remove = function(query, options) {  return new Promise((resolve, reject) => {    this.db.remove(query || {}, options || {}, (err, numAffected) => {      if (err) {        return reject(err);      }      resolve(numAffected);    })  });}module.exports = (database) => {  return new DB(database);}

test.js

const db = require('./libs/nedb')('testdb');(async function() { await db.insert({number: 12}); await db.insert({number: 11}); await db.insert({number: 13}); let res = await db.sort({number: -1}).limit(0, 2).find(); console.log(res);})();

執行命令

nodemon test.js

希望本文所述對大家node.js程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 台安县| 枣庄市| 津市市| 石狮市| 广饶县| 温宿县| 岳西县| 汤原县| 吴旗县| 崇文区| 清水河县| 寻乌县| 正安县| 甘泉县| 平顶山市| 济阳县| 桂东县| 汤原县| 万州区| 柘荣县| 亳州市| 铜梁县| 泸水县| 杭锦旗| 南平市| 偃师市| 连州市| 塔河县| 山阴县| 阿尔山市| 浮山县| 额济纳旗| 英德市| 无极县| 明溪县| 沾益县| 罗城| 洛浦县| 山东| 旬阳县| 开远市|