嵌入式nosql php,NoSQL 嵌入式数据库NeDB示例
在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示例相关推荐
- 悉数11种主流NoSQL文档型数据库
悉数11种主流NoSQL文档型数据库 文档型数据库是NoSQL中非常重要的一个分支,它主要用来存储.索引并管理面向文档的数据或者类似的半结构化数据.顾名思义,文档型数据库(面向文档数据库)的关键核心概 ...
- 嵌入式Linux中使用SQLite3数据库
嵌入式Linux中使用SQLite3数据库 SQLite3是一款轻量级的文件型数据库,非常适合嵌入式环境下使用,最近搞的Linux嵌入式项目中需要用到这款数据库,就研究了一下怎么在嵌入式Linux中使 ...
- 嵌入式系统开发设计---嵌入式系统开发设计
嵌入式系统设计的主要任务是定义系统的功能.决定系统的架构,并将功能映射到系统实现架构上.这里,系统架构既包括软件系统架构也包括硬件系统架构.一种架构可以映射到各种不同的物理实现,每种实现表示不同的取舍 ...
- 外网访问arm嵌入式linux系统_嵌入式Linux系统移植的四大步骤
最近在学习系统移植的相关知识,在学习和调试过程中,发现了很多问题,也解决了很多问题,但总是对于我们的开发结果有一种莫名其妙的感觉,纠其原因,主要对于我们的开发环境没有一个深刻的认识,有时候几个简单的命 ...
- python操作sqlite数据库_Python 操作SQLite数据库的示例
SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中.在很多嵌入式产品中使用了它,它占用资源非常的低,python 中默认继承了操作此款数据库的引擎 sq ...
- gtk移植到嵌入式_入行嵌入式研发10多年,一位工程师悟出了这些道理
嵌入式行业需要什么样的技术人才? 仔细观察各种招聘的岗位要求吧,无非是两方面. (1)通用要求 比如什么学历,多少年工作经验,有创新精神,抗压能力强,吃苦耐劳,善于沟通,态度认真等等等等... (2) ...
- linux下的嵌入式开发技能(嵌入式工程师必备)
嵌入式Linux开发从下到上分为:嵌入式硬件开发.嵌入式驱动开发.嵌入式系统开发.嵌入式软件开发. 一.嵌入式硬件开发:熟悉电路等知识,非常熟悉各种常用元器件,掌握模拟电路和数字电路设计的开发能力.熟 ...
- Redis(一):什么是NoSQL与NoSQL分类
1.什么是NoSQL NoSQL = Not only SQL (不仅是SQL),即泛指非关系型数据库.随着Web2.0时代诞生!NoSQL在当今大数据的环境下发展十分迅速! NoSQL 是一项全新的 ...
- 嵌入式开发中,嵌入式硬件和软件有什么区别?
嵌入式指的是把软件直接烧录在硬件里,而不是安装在外部存储介质上,就像赋予机器人灵魂,从而方便人类操控.在嵌入式开发中,分为嵌入式硬件和嵌入式软件,大多数人对嵌入式的硬件和软件之间的区别不是很了解,现在 ...
最新文章
- Linux命令-安装zip和unzip命令
- 企业价值观念形成的四个阶段
- C++/Php/Python/Shell 程序按行读取文件或者控制台方法总结。
- python【数据结构与算法】KMP算法模板(我吐了!)
- 语音信号短时域分析之预处理(三)
- JDBC预状态通道设置时间格式的问题
- com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed
- Queue+Stack(C++,标准库中的队列和栈)
- PHP验证码常用的函数记录
- SmartSVN无法提交的解决办法:because it was moved from which is not part of the commit; both sides of the move
- B/S WEB端条码打印系统 斑马条码打印解决方案
- 【渝粤教育】电大中专营销策划原理与实务答案作业 题库
- Error in *** : subscript out of bounds
- Worthington毒液中核酸外切酶的特征及相关文献
- 调用国家气象局天气接口
- 如何判断Map中的key或value是什么类型
- Linux系统内核优化
- 表单reset重置按钮的作用并非是清空表单
- 烦人的后台首页index.jsp弄好了
- 小程序判断是否有上一页
热门文章
- C语言文本文件与二进制文件转换
- aix oracle监听配置_Oracel:ORA-12518:监听程序无法分发客户机连接
- JQuery Datatables editor 本地编辑功能
- linux+kill+进程和线程,在LINUX系统中 关于进程和线程终止的问题
- 360天气怎么设置方法 360天气如何设置城市
- Win11系统显示你的账户已被停用怎么办
- 谷歌浏览器地址栏记录怎么删除 Chrome浏览器地址栏记录清除方法
- win7纯净版镜像系统安装教程
- 同时运行多个logstash而kibana监控界面只统计到一个的问题
- JS中的prototype、__proto__与constructor,原型和原型链