forked from sheetjs/docs.sheetjs.com
		
	
		
			
	
	
		
			44 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			44 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|  | --- | ||
|  | sidebar_position: 11 | ||
|  | title: NoSQL Data Stores | ||
|  | --- | ||
|  | 
 | ||
|  | So-called "Schema-less" databases allow for arbitrary keys and values within the | ||
|  | entries in the database.  K/V stores and Objects add additional restrictions. | ||
|  | 
 | ||
|  | :::note | ||
|  | 
 | ||
|  | These data stores are capable of storing structured data.  Those use cases are | ||
|  | covered in the [Database demo](./database). | ||
|  | 
 | ||
|  | ::: | ||
|  | 
 | ||
|  | There is no natural way to translate arbitrarily shaped schemas to worksheets | ||
|  | in a workbook.  One common trick is to dedicate one worksheet to holding named | ||
|  | keys.  For example, considering the JS object: | ||
|  | 
 | ||
|  | ```json | ||
|  | { | ||
|  |   "title": "SheetDB", | ||
|  |   "metadata": { | ||
|  |     "author": "SheetJS", | ||
|  |     "code": 7262 | ||
|  |   }, | ||
|  |   "data": [ | ||
|  |     { "Name": "Barack Obama", "Index": 44 }, | ||
|  |     { "Name": "Donald Trump", "Index": 45 }, | ||
|  |   ] | ||
|  | } | ||
|  | ``` | ||
|  | 
 | ||
|  | A dedicated worksheet should store the one-off named values: | ||
|  | 
 | ||
|  | ``` | ||
|  | XXX|        A        |    B    | | ||
|  | ---+-----------------+---------+ | ||
|  |  1 | Path            | Value   | | ||
|  |  2 | title           | SheetDB | | ||
|  |  3 | metadata.author | SheetJS | | ||
|  |  4 | metadata.code   |    7262 | | ||
|  | ``` |