zoukankan      html  css  js  c++  java
  • TaffyDB Introduction

    The JavaScript Database

    An opensouce library that brings database features into your JavaScript applications.

    Introduction

    How you ever noticed how JavaScript object literals look a lot like records? And that if you wrap a group of them up in an array you have something that looks a lot like a database table? TaffyDB is a libary to bring powerful database funtionality to that concept and rapidly improve the way you work with data inside of JavaScript.

    What makes it sticky

    • Small file size, extremely fast queries
    • Powerful JavaScript centric data selection engine
    • Database inspired features such as count, update, and insert
    • Robust cross browser support
    • Easily extended with your own functions
    • Compatible with any DOM library (jQuery, YUI, Dojo, etc)
    • Compatible with Server Side JS

    Create a Database

    // Create DB and fill it with records
    var friends = TAFFY([
    	{"id":1,"gender":"M","first":"John","last":"Smith","city":"Seattle, WA","status":"Active"},
    	{"id":2,"gender":"F","first":"Kelly","last":"Ruth","city":"Dallas, TX","status":"Active"},
    	{"id":3,"gender":"M","first":"Jeff","last":"Stevenson","city":"Washington, D.C.","status":"Active"},
    	{"id":4,"gender":"F","first":"Jennifer","last":"Gill","city":"Seattle, WA","status":"Active"}	
    ]);
    

    Filter using the database name and object comparison

    // Find all the friends in Seattle
    friends({city:"Seattle, WA"});
    
    // Find John Smith, by ID
    friends({id:1});
    
    // Find John Smith, by Name
    friends({first:"John",last:"Smith"});
    

    Access data easily

    // Kelly's record
    var kelly = friends({id:2}).first();
    
    // Kelly's last name
    var kellyslastname = kelly.last;
    
    // Get an array of record ids
    var cities = friends().select("id");
    
    // Get an array of distinct cities
    var cities = friends().distinct("city");
    
    // Apply a function to all the male friends
    friends({gender:"M"}).each(function (r) {
       alert(r.name + "!");
    });
    

    Modify data on the fly

    // Move John Smith to Las Vegas
    friends({first:"John",last:"Smith"}).update({city:"Las Vegas, NV:"});
    
    // Remove Jennifer Gill as a friend
    friends({id:4}).remove();
    
    // insert a new friend
    friends.insert({"id":5,"gender":"F","first":"Jennifer","last":"Gill","city":"Seattle, WA","status":"Active"});
    
  • 相关阅读:
    93. Restore IP Addresses
    mysql复制那点事(2)-binlog组提交源码分析和实现
    49. Group Anagrams
    43. Multiply Strings
    66. Plus One
    100. Same Tree
    MySQL 加锁处理分析
    mysql死锁问题分析
    数据库事务的四大特性以及事务的隔离级别
    MySQL常见的三种存储引擎(InnoDB、MyISAM、MEMORY)
  • 原文地址:https://www.cnblogs.com/William_Fire/p/2733251.html
Copyright © 2011-2022 走看看