嵌入式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();//压缩数据

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值