嵌入式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示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html字符串变量,字符串变量中的Pyt
- 下一篇: c#怎么拟合函数得到参数_吴恩达老师课程