在nw.js一直无法配置sqlite3数据库,所以一直使用web sql数据库,不过还原之类的操作异常麻烦,打算使用NeDB数据库,非关系型数据库的扩展性很适合数据结构不确定性的nw.js项目。

在Capacitor或cordova打包APP使用需引用:npm i cordova-plugin-file (操作系统文件权限)var db = new Nedb({ }); (注意区分大小写)

NoSQL 嵌入式数据库 NeDB

新增

新增2

修改

删除

压缩数据

log

var NeDB = require('nedb')

var db = new NeDB({

filename: 'flashme-data.nedb',

autoload: true,//加载至内存

timestampData: true,//自动时间戳

})

var doc = {

hello: 'flashme'

, n: 5

, today: new Date()

, nedbIsAwesome: true

, notthere: null

, content: 'hi\n"中文"'

, fruits: ['apple', 'orange', 'pear']

, infos: { name: 'nedb' }

};

function add() {

db.insert(doc, function (err, newDoc) {

console.log(err, newDoc);

});

}

function add2() {

db.insert([{ a: 5, hello: "修改" }, { a: 42 }], function (err, newDocs) {

});

}

// 示例2: {field: {$op: value}} ($op代表任意比较运算符)

// $lt, $lte: 小于,小于等于

// $gt, $gte: 大于,大于等于

// $in: 属于

// $ne, $nin: 不等于,不属于

// $exists: 取值为true或者false,用于检测文档是否具有某一字段

// $regex: 检测字符串是否与正则表达式相匹配

// $lt, $lte, $gt and $gte 只能用于数字和字符串类型

function list() {

//包含查询

db.find({ hello: { $exists: 'flash' } }, function (err, docs) {

console.log(docs);

});

//分页

db.find({}).sort({ _id: 1 }).skip(1).limit(5).exec(function (err, docs) {

console.log("分页:", docs)

});

// 反向排序

db.find({}).sort({ _id: -1 }).skip(1).limit(5).exec(function (err, docs) {

console.log("倒序:", docs)

});

}

//可用的修饰符有$set(改变字段值), $unset(删除某一字段), $inc(增加某一字段), $min/$max(改变字段值,传入值需要小于/大于当前值),

//还有一些用在数组上的修饰符,$push, $pop, $addTopSet, $pull, $each, $slice

function edit() {

db.update({ hello: '修改' }, { $set: { n: 999 } }, { multi: true }, function (err, numReplaced) {

console.log("edit -> numReplaced", numReplaced)

// db.persistence.compactDatafile();//压缩数据

});

}

function del() {

// 删除多条记录

db.remove({ a: 42 }, { multi: true }, function (err, numRemoved) {

console.log("del -> numRemoved", numRemoved)

});

}

//增删改操作都是在数据尾部形成记录,执行数据压缩才会将数据文件里转为最终态

function datafile() {

db.persistence.compactDatafile();//压缩数据

}

嵌入式nosql php,NoSQL 嵌入式数据库NeDB示例相关推荐

  1. 悉数11种主流NoSQL文档型数据库

    悉数11种主流NoSQL文档型数据库 文档型数据库是NoSQL中非常重要的一个分支,它主要用来存储.索引并管理面向文档的数据或者类似的半结构化数据.顾名思义,文档型数据库(面向文档数据库)的关键核心概 ...

  2. 嵌入式Linux中使用SQLite3数据库

    嵌入式Linux中使用SQLite3数据库 SQLite3是一款轻量级的文件型数据库,非常适合嵌入式环境下使用,最近搞的Linux嵌入式项目中需要用到这款数据库,就研究了一下怎么在嵌入式Linux中使 ...

  3. 嵌入式系统开发设计---嵌入式系统开发设计

    嵌入式系统设计的主要任务是定义系统的功能.决定系统的架构,并将功能映射到系统实现架构上.这里,系统架构既包括软件系统架构也包括硬件系统架构.一种架构可以映射到各种不同的物理实现,每种实现表示不同的取舍 ...

  4. 外网访问arm嵌入式linux系统_嵌入式Linux系统移植的四大步骤

    最近在学习系统移植的相关知识,在学习和调试过程中,发现了很多问题,也解决了很多问题,但总是对于我们的开发结果有一种莫名其妙的感觉,纠其原因,主要对于我们的开发环境没有一个深刻的认识,有时候几个简单的命 ...

  5. python操作sqlite数据库_Python 操作SQLite数据库的示例

    SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中.在很多嵌入式产品中使用了它,它占用资源非常的低,python 中默认继承了操作此款数据库的引擎 sq ...

  6. gtk移植到嵌入式_入行嵌入式研发10多年,一位工程师悟出了这些道理

    嵌入式行业需要什么样的技术人才? 仔细观察各种招聘的岗位要求吧,无非是两方面. (1)通用要求 比如什么学历,多少年工作经验,有创新精神,抗压能力强,吃苦耐劳,善于沟通,态度认真等等等等... (2) ...

  7. linux下的嵌入式开发技能(嵌入式工程师必备)

    嵌入式Linux开发从下到上分为:嵌入式硬件开发.嵌入式驱动开发.嵌入式系统开发.嵌入式软件开发. 一.嵌入式硬件开发:熟悉电路等知识,非常熟悉各种常用元器件,掌握模拟电路和数字电路设计的开发能力.熟 ...

  8. Redis(一):什么是NoSQL与NoSQL分类

    1.什么是NoSQL NoSQL = Not only SQL (不仅是SQL),即泛指非关系型数据库.随着Web2.0时代诞生!NoSQL在当今大数据的环境下发展十分迅速! NoSQL 是一项全新的 ...

  9. 嵌入式开发中,嵌入式硬件和软件有什么区别?

    嵌入式指的是把软件直接烧录在硬件里,而不是安装在外部存储介质上,就像赋予机器人灵魂,从而方便人类操控.在嵌入式开发中,分为嵌入式硬件和嵌入式软件,大多数人对嵌入式的硬件和软件之间的区别不是很了解,现在 ...

最新文章

  1. Linux命令-安装zip和unzip命令
  2. 企业价值观念形成的四个阶段
  3. C++/Php/Python/Shell 程序按行读取文件或者控制台方法总结。
  4. python【数据结构与算法】KMP算法模板(我吐了!)
  5. 语音信号短时域分析之预处理(三)
  6. JDBC预状态通道设置时间格式的问题
  7. com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed
  8. Queue+Stack(C++,标准库中的队列和栈)
  9. PHP验证码常用的函数记录
  10. SmartSVN无法提交的解决办法:because it was moved from which is not part of the commit; both sides of the move
  11. B/S WEB端条码打印系统 斑马条码打印解决方案
  12. 【渝粤教育】电大中专营销策划原理与实务答案作业 题库
  13. Error in *** : subscript out of bounds
  14. Worthington毒液中核酸外切酶的特征及相关文献
  15. 调用国家气象局天气接口
  16. 如何判断Map中的key或value是什么类型
  17. Linux系统内核优化
  18. 表单reset重置按钮的作用并非是清空表单
  19. 烦人的后台首页index.jsp弄好了
  20. 小程序判断是否有上一页

热门文章

  1. C语言文本文件与二进制文件转换
  2. aix oracle监听配置_Oracel:ORA-12518:监听程序无法分发客户机连接
  3. JQuery Datatables editor 本地编辑功能
  4. linux+kill+进程和线程,在LINUX系统中 关于进程和线程终止的问题
  5. 360天气怎么设置方法 360天气如何设置城市
  6. Win11系统显示你的账户已被停用怎么办
  7. 谷歌浏览器地址栏记录怎么删除 Chrome浏览器地址栏记录清除方法
  8. win7纯净版镜像系统安装教程
  9. 同时运行多个logstash而kibana监控界面只统计到一个的问题
  10. JS中的prototype、__proto__与constructor,原型和原型链