-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Podrá realizarlo mediante NPM con el siguiente comando
npm i solardb-core
Luego de esto, es necesario invocar el mismo desde el proyecto con la siguiente linea
const solar = require("solardb-core")
- El directorio no es necesario declararlo si se usa el de defecto, es el "./data/", este se puede reemplazar por uno personalizado pero debera ser un directorio absoluto
let r = solar.dbCreateCollection ("Metronica")
let r = solar.dbCreateCollection ("Metronica", "./data/")
Usando la consulta anterior obtenemos
./data/Metronica
let r = solar.dbInsert({
nombre: "Agustin",
edad: 28
}, "usuarios")
Usando la consulta anterior obtenemos
{
"id": "1",
"directory": "./data/usuarios/1.sol"
}
Respondera un Array con objetos segun corresponda, puede ser el indice del Store que estra llamado segun lo nombre como el indice de colecciones
let r = solar.dbGetIndex("usuarios", "/data2/")
// OR
let r = solar.dbGetIndex("usuarios")
Usando la consulta anterior obtenemos
[ '1' ]
let r = solar.dbGetIndex(null, "/data2/")
// Sin especificar directorio, se obtiene las Colecciones de /data
let r = solar.dbGetIndex()
Usando la consulta anterior obtenemos
[ 'usuarios' ]
Mediante el metodo de dbGetData obtendremos un array de objetos pertenecientes a las versiones del Index. Podemos realizar filtro de este mediante metodos JS como .pop()
por ejemplo. Con pop nos quedaremos como resultado, el ultimo registro que exista en el index.
- Debe especificar el Indice que quiere obtener, Coleccion y Store. El Store, si no se indica, se tomara el predeterminado.
- Para poder parsear la respuesta es necesario usar JSON.parse() ya que los elementos se guardan como JSON.stringify()
let r = solar.dbGetData("1", "usuarios", "./data/")
// or
let r = solar.dbGetData("1", "usuarios")
Usando la consulta anterior obtenemos
[
{ nombre: 'Agustin', edad: 28 },
{ nombre: 'Agustin', edad: 28, ciudad: 'San Martin' }
]
Indicamos el JSON, Index, Coleccion y Store. De esta forma actualizamos el Index:
let r = solar.dbUpdate({
nombre: "Agustin",
edad: 28,
ciudad: 'San Martin'
}, "1", "Usuarios","./data2/")
Nos respondera
{
id: '1',
directory: './data2/Usuarios/1.sol'
}
Al momento de Actualizar el Index, no se pisaran los datos, si no, que se guardaran como versiones.
Con este metodo podremos obtener la fecha y hora en que se modifico por ultima vez el Index
Indicamos el Index, Coleccion y Store:
let r = solar.dbGetDateModify("1", "usuarios", "./data/")
Nos respondera lo siguiente:
[ 'Tue', '13', 'Jul', '2021', '21:30:08', 'GMT' ]
Con este metodo podremos obtener el ultimo archivo modificado o creado de la Coleccion
Indicamos la Coleccion y Store
let r = solar.dbGetLatestFile("usuarios", "./data/")
Nos respondera un String con el ID del Index
{
index: '1',
date: [ 'Tue', '13', 'Jul', '2021', '21:30:08', 'GMT' ]
}
Con este método podremos eliminar elementos de un index sin necesidad de recrearlo
Indicamos Matriz, Index, Coleccion y Data Store
let r = dbDeleteInsert( 0, 2, 'carrito' )
Nos respondera un String con el ID del Index
{
id: 2,
matrixID: 0,
deleted: true,
data: [
'{"id":"2","timestamp":"asas","nombre":"as","descripcion":"assas","codigo":"assa","foto":"assas","precio":"asas","stock":"assa"}',
'{"id":"3","timestamp":"asas","nombre":"as","descripcion":"assas","codigo":"assa","foto":"assas","precio":"asas","stock":"assa"}',
'{"id":"4","timestamp":"asas","nombre":"as","descripcion":"assas","codigo":"assa","foto":"assas","precio":"asas","stock":"assa"}',
'{"id":"5","timestamp":"asas","nombre":"as","descripcion":"assas","codigo":"assa","foto":"assas","precio":"asas","stock":"assa"}',
'{"id":"6","timestamp":"asas","nombre":"as","descripcion":"assas","codigo":"assa","foto":"assas","precio":"asas","stock":"assa"}',
'{"id":"7","timestamp":"asas","nombre":"as","descripcion":"assas","codigo":"assa","foto":"assas","precio":"asas","stock":"assa"}',
'{"id":"8","timestamp":"asas","nombre":"as","descripcion":"assas","codigo":"assa","foto":"assas","precio":"asas","stock":"assa"}'
]
}
En el caso de que falle devolverá lo siguiente
{
id: 2,
matrixID: 0,
deleted: false
}
Indicamos el Index, Coleccion y Store. De esta forma Eliminamos el Index:
let r = solar.dbDeleteData("1", "Usuarios","./data2/")
Nos respondera el valor 1 para la eliminacion correcta
Con este metodo borramos todo el contenidos del Insert e ingresamos un nuevo valor
Especificamos el JSON a Agregar, ID de Insert, Colleccion y Datastore
let r = dbFlushInsert(
{
"id": "1",
"timestamp": "a",
"nombre": "as",
"descripcion": "assas",
"codigo": "assa",
"foto": "assas",
"precio": "asas",
"stock": "assa"
},
2,
'carrito'
)
Nos respondera el valor ingresado con el ID afectado:
{
id: 2,
data: {
id: '1',
timestamp: 'a',
nombre: 'as',
descripcion: 'assas',
codigo: 'assa',
foto: 'assas',
precio: 'asas',
stock: 'assa'
}
}
En los casos que se mal indique un Index, Store o Coleccion nos encontraremos con el siguiente error
[
{
code: 'ENOENT',
msj: 'El directorio o archivo no existe'
}
]