node-tiny

非关系型数据库
授权协议 MIT
开发语言 JavaScript
所属分类 数据库相关、 NoSQL数据库
软件类型 开源软件
地区 国产
投 递 者 边霄
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

node.js下的一个非常简单的非关系型数据库,适合数据量不大,数据结构简单的数据存储。理论上,任何可以用json来保存的数据都可以用tiny来保存。

node.js可以使用的数据库很多,但对于很多简单的数据存储,mongodb、MySQL就有些大材小用了,更主要的是麻烦。于是便有了node-tiny,一个非关系型的数据库,有点类似于mongodb。

tiny的文档中讲述了这样一个事实,当我们在数据库中搜索数据的时候我们会根据id、名字、类别、标签、日期等这些内容简短的属性来搜索,极少的时候根据全文信息等这样的超长的字段来搜索。所以在创建一个tiny数据库的时候tiny会将小于128字节的属性加载到内存中,这样检索速度会非常快,当检索结束时tiny根据检索的结果加载对于记录超过128字节的字段。

安装 npm install tiny

使用例子:

var Tiny = require('tiny');
/**
创建数据库实例。
说明:第一参数为存储数据使用的文件名,该文件会在第一次使用时创建。第二参数为数据库创建成功后执行的回调函数。
**/
Tiny('articles.tiny', function(err, db) {
/**
set:保存文档对象。第一参数为存储数据的key,第二参数为要存储的内容,第三参数为回调函数。
**/
 /*
 for(var i = 0; i < 10; i++){
  db.set('doc' + i, {
     title: 'a document ' + i,
     content: 'hello world ' + i
  }, function(err) {
   if(err){
    console.log(err);
   }else{
    console.log('set!');
   }
  });
 }
 */
/**
	get:获取一条记录,第一参数同set,第二参数为回调函数。
	remove:删除记录,参数同set。
	update:更新记录,第一参数同set(存储的key),第二参数为回调函数。
**/
 /*
 db.get("doc0", function(err, data){
  console.log(arguments)
 });
 */

 /**
	each:迭代数据库中的每一个对象。第一参数为迭代的函数(第一参数为记录对象,第二参数为记录的key);第二参数为迭代结束后的回调函数;第三参数为一个布尔值,若为true则会将大于128字节的也加载到内存迭代,默认false,建议保持默认。
 **/
 /*
 db.each(function(obj, key){
  console.log(arguments);
  
 }, function(){


 }, false);
 */

 /**
	fetch:检索数据,第一参数为约束对象,第二三参数为函数,前者用于筛选数据,后者为检索结束后的回调函数。
 **/
 /*
 db.fetch({
  limit: 3
 }, function(obj, key){
  return true;
 }, function(err, datas){
  console.log(arguments)
 });*/

 /**
	compact:将多余的数据在文件中删除。
	对于tiny来说增删改都是向文件中写数据,注意是直接追加到文件末尾,所以update方法和remove方法只是在文件的末尾追加内容。之所以可以这样设计是因为JavaScript对象属性是唯一的,赋值操作会覆盖掉之前的值,所以tiny只需按照文件的顺序解析文件即可得到正确的数据。这样设计的弊端是删除掉的数据还会占用存储空间,compact方法就是将多余的数据在文件中删除
 **/
 /*
 db.compact(function(err) {
    console.log('done');
 });
 */
 /**
  数据修改和回调函数。
 **/
 /*
 db.update("doc0"
 ,{
	'title':{
		b:true,
		"c":0,
		e:"sssd",
		f:{
			g:'hello world',
			h:12200,
			f:"中文中文"
		}
	},
	b:[0,1,2,3,4,5]
 }
 ,function(err){
	if(!err){
		db.get("doc0", function(err, data){
			console.log(data['title']["f"]["f"])
		});
	}
 })
 */
});
  • 最近写程序node.js程序的时候需要用到数据存储,node.js可以使用的数据库中的很多,mongodb、MySQL等等,但是我还是觉得这些数据库太大了,大材小用,更主要的是麻烦。于是我找到了node-tiny,一个非关系型的数据库,有点类似于mongodb。 tiny的文档中讲述了这样一个事实,当我们在数据库中搜索数据的时候我们会根据id、名字、类别、标签、日期等这些内容简短的属性来搜索,极少

  • 查了好多资料,发现还是不全,干脆自己整理吧,至少保证在我的做法准确的,以免误导读者,也是给自己做个记载吧!     Email:longsu2010 at yeah dot net     近来写程序node.js程序的时候要需用到数据存储,node.js可以用使的数据库中的很多,mongodb、MySQL等等,但是我还是认为这些数据库太大了,牛鼎烹鸡,更要主的是费事。于是我找到了node-tin

  • 一、Pytorch->onnx 使用https://github.com/bubbliiiing/yolov4-tiny-pytorch,训练,导出onnx import torch.onnx import onnx from onnxsim import simplify yolo = YOLO() model = yolo.net x = torch.randn(1,3,416,416) o

  • node-little-db小型本地json文件数据库 Tiny local JSON database for Node and Electron 小型项目的小型本地 JSON 数据库 特点: node-little-db 小型本地json文件数据库,你不需要学习其他API,就像操作一个对象、数组一样操作它即可。 // require the little-db // 引入little-db c

 相关资料
  • 一种是关系数据库,典型代表产品:DB2;   另一种则是层次数据库,代表产品:IMS层次数据库。   非关系型数据库有MongoDB、memcachedb、Redis等。

  • Creating models from unstructured data(非关系型数据库创建 model) 非结构化数据,例如,NoSQL数据库和REST服务, 开始用 instance introspection 方式创建 model

  • 关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成。

  • 本文向大家介绍Hive与关系型数据库的关系?相关面试题,主要包含被问及Hive与关系型数据库的关系?时的应答技巧和注意事项,需要的朋友参考一下 没有关系,hive是数据仓库,不能和数据库一样进行实时的CURD操作。 是一次写入多次读取的操作,可以看成是ETL工具。

  • 主要内容:数据定义,数据操作,数据控制就其布局和导航方面而言,Microsoft Access具有其他Microsoft Office产品的外观和感觉,但MS Access是一个数据库,更具体地说是一个关系数据库。 在MS Access 2007之前,文件扩展名是,但是在MS Access 2007中,扩展名已经更改为扩展名。 早期版本的Access无法读取accdb扩展,但MS Access 2007及更高版本可以读取和更改早期版本

  • Discovering models from relational databases(关系型数据库连接) 简介 基础步骤 discovery 案例 添加 discovery 方法 简介 Loopback可以很方便地从现有的关系型数据库创建model, 这个过程被称为 discovery ,由以下连接器的支持. MySQL 连接器 PostgreSQL 连接器 Oracle 连接器 SQL Se