-
Notifications
You must be signed in to change notification settings - Fork 3
code_server_datastore
Anacleto fornisce le funzioni di utilità per collegarsi a Google Datastore
Tutte le entità recuperate da datastore contengo la proprietà __KEY__, un oggetto dal quale recuperare la chiave dell'entità.
Se vuoi recuperare un entità da Datastore.
Il metodo accetta in input params, all'interno del quale puoi definire:
-
entityNamenome del gruppo entità di Datastore -
entityKeychiave dell'entità nella tabella
Il metodo restituisce una Promise.
Esempio:
const getParams = {
entityName: "MASTER",
entityKey: "PIPPO"
}
const ret = googleDatastore.getEntity(getParams)
.then((res) => {
//Logiche per success true o false
})
.catch((err) => {
//Logica per catch dell'errore
});Se vuoi inserire un entità in un gruppo entità Datastore
Il metodo accetta in input params, all'interno del quale puoi definire:
-
entityNamenome del gruppo entità di Datastore -
entityentità da salvare -
entityAttributesMappa campo - tipo attributo
Il metodo restituisce una Promise.
Esempio:
const insertPars = {
entityName: "MASTER",
entity: {
"name": "PIPPO",
"createDate": "2022-09-08 00:00:00"
},
entityAttributes: {
name: {
type: "string",
isPk: true
},
createDate: {
type: "date"
}
}
}
const ret = googleDatastore.insertEntity(insertPars)
.then((res) => {
//Logiche per success true o false
})
.catch((err) => {
//Logica per catch dell'errore
});Se vuoi aggiornare un entità in un gruppo entità Datastore
Il metodo accetta in input params, all'interno del quale puoi definire:
-
entityNamenome del gruppo entità di Datastore -
entityKeychiave dell'entità da aggiornare -
entityObjentità da salvare -
entityAttributesMappa campo - tipo attributo -
forceNullFieldsforza campi già esistenti a null se non passati
Il metodo restituisce una Promise.
Esempio:
const updatePars = {
entityName: "MASTER",
entityKey: "PIPPO",
entityObj:{
"name": "PIPPO",
"createDate": "2022-09-08 00:00:00",
"lastUpdate": "2022-09-15 00:00:00"
},
entityAttributes: {
name: {
type: "string",
isPk: true
},
createDate: {
type: "date"
},
lastUpdate: {
type: "date"
}
},
forceNullFields: false
};
const ret = googleDatastore.updateEntity(updatePars)
.then((res) => {
//Logiche per success true o false
})
.catch((err) => {
//Logica per catch dell'errore
});Se vuoi eliminare un entità in un gruppo entità Datastore.
Il metodo accetta in input params, all'interno del quale puoi definire:
-
entityNamenome del gruppo entità di Datastore -
entityKeychiave dell'entità da aggiornare
Il metodo restituisce una Promise.
Esempio:
const deletePars = {
entityName: "MASTER",
entityKey: "PIPPO"
}
const ret = googleDatastore.deleteEntity(deletePars)
.then((res) => {
//Logiche per success true o false
})
.catch((err) => {
//Logica per catch dell'errore
});Se vuoi ricercare delle entità in un gruppo entità Datastore.
Il metodo accetta in input params, all'interno del quale puoi definire:
-
selectcampi che deve estrarre dalle entità che trova -
entityNamenome del gruppo entità in cui cercare -
filtersarray di oggetti per effetturare il filtro di ricerca contentente oggetti con le seguenti proprietà:-
propertynome del campo da filtrare -
valuevalore da utilizzare nel filtro -
operator(OPZIONALE) indica l'operatore da usare nella ricerca, se non passato si utilizza l'operatore=
-
-
orderoggetto in cui viene definito per quale campo effettuare l'ordinamento-
propertynome del campo da utilizzare per effettuare ordinamento -
descendingvalore booleano per indicare se ordinamento decrescente (true) o ascendente(false), se non passato si intende ordinamento acendente
-
-
limitnumero di valori che si vuole recuperare con la ricerca -
offsetnumero di valori dopo i quali iniziare la ricerca
Il metodo restituisce una Promise:
ATTENZIONE: Nel caso in cui la query ricerchi solamente alcuni campi o nel caso in cui siano necessari degli ordinamenti, sarà necessario creare degli indici: se sei curioso di capire come funzionino verifica qui: Indici. Se invece hai già iniziato ad utilizzarli e vuoi capire come ottimizzarli: Ottimizzazione degli indici
Esempio - Restituire i primi 10 risultati:
const pars = {
"entityName": "MASTER",
"limit": 10
}
const res = googleDatastore.list(pars)
.then((res) => {
//Logiche per success true o false
})
.catch((err) => {
//Logica per catch dell'errore
});Esempio - Restituire i primi 10 risultati ordinati per data creazione descrescente:
const pars = {
"entityName": "MASTER",
"limit": 10,
"order": {
"property": "createDate",
"descending": true
}
}
const res = googleDatastore.list(pars)
.then((res) => {
//Logiche per success true o false
})
.catch((err) => {
//Logica per catch dell'errore
});