支持像 SQL 关系数据库和 NoSQL 无模式数据库那样操作数据。可使用下面的代码, 此处使用同步语法,需要在 async 函数里调用:
(async () => {
// 更新数据
await upsert('user', { username: 'dota', password: '123456', title: 'SDEI', skills: 'java,go,c' })
// 查询数据
let rows = await select('user', { skills: 'c' })
console.log('rows.count', rows.count)
console.log(rows)
})();
OnceDB 最新版添加了连接查询的功能,可以用数组实现多条件连接查询.
多条件查询的前提是搜索的字段在 schema 中都被定义成了索引,这样在 OnceDB 中可以通过一系列的交集和并集运算来提取数据,语法如下:
OurJS原有架构博客是基于文件系统的。优点是不需要配置数据库。所有文章在初始化时都会加载到内存中,能够支承大流量的访问。
但随着文章数量的增加,初始化启动时,硬盘IO读写会有一定的压力,再加上一些云服务器限制了IO频率。造成启动时间较慢。
这篇文章将介绍如何将OurJS博客移到到OnceOA架构。
OnceDB提供直接搜索指令,支持 String 和 Hash 等对象,
hsearch article:* visit >= 20 visit <= 30 key = js
1) article:001
2) 21
3)
4) js
OnceOA 纯Web交互,无需安装任何客户端、APP就可使用。可创建SMB共享目录、SVN/Git数据仓库,在电视手机平板上播放或备份视频或照片,可实现NAS网盘管理,文档管理/同步、知识管理、配置各类企业管理软件等。
OnceOA 采用自主研发的OnceIO Web框架和OnceDB数据库。异步纯内存运行,几乎不产生IO操作。可运行在目前能找到的最低配置的arm linux开发板(256Mb内存)上。更可支持 RaspberryPi, OrangePi, NanoPi, BananaPi 等各类开发板。
旺司知识管理工具支持在线编辑UML关系图,以 uml 开头,如:
```uml
partition Conductor {
(*) --> "Climbs on Platform"
--> === S1 ===
--> Bows
}
```
OnceIO提供一种机制,在不改变原有系统的情况下,可以复用原系统的filter(middleware)和handler,而不必修改原系统的编码。
app.map({
'/blog/user/:poster': '/userinfo/:poster'
})
Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档。Markdown 编写的文档可以导出 HTML 、Word、图像、PDF、Excel 等多种格式的文档。
OAuth 2.0 是一个行业的标准授权协议。它的最终目的是为第三方应用颁发一个有时效性的令牌 token。使得第三方应用能够通过该令牌获取相关的资源。常见的场景就是:第三方登录。
借用LinkedIn上的OAuth2.0的流程图,登录流程大致如下:
OnceDoc/ OnceOA 支持 Debian/ Ubuntu/ CentOS/(Redhat) OpenSuse(Suse) 等Linux发行版。并针对Debian/ Ubuntu创建了自动启动脚本,其他Linux发行版,用户可手动启动。