Anacleto Backend Backend script googleDatastore Utility class to interact with Google Datastore
All entities retrieved from datastore contain the __KEY__ property, an object from which to retrieve the entity key.
getEntity
Get a Google Datastore entity
Syntax
Copy googleDatastore.getEntity({entityName, entityKey})
entityName
datastore entity group name
Example
Copy const entityName = "MASTER";
const entityKey = "PIPPO"
}
const ret = googleDatastore.getEntity({entityName, entityKey)
.then((res) => {
//..
})
.catch((err) => {
//..
});
insertEntity
Insert a Google Datastore Entity
Syntax
Copy googleDatastore.insertEntity({entityName,entity,entityAttributes})
entityName
datastore entity group name
entityAttributes
map attribute - type
Example
Copy 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
});
updateEntity
Update a Google Datastore Entity.
Syntax
Copy googleDatastore.updateEntity({entityName, entityKey, entityObj, entityAttributes, forceNullFields})
entityName
datastore entity group name
entityAttributes
map attribute - type
forceNullFields
force not pass field to null
Example
Copy 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
});
deleteEntity
Delete a Google Datastore entity
Syntax
Copy googleDatastore.deleteEntity({entityName, entityKey})
entityName
datastore entity group name
entityKey
entity to delete key
Example
Copy 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
});
list
Return a list of entities
Syntax
[select]
fields to extract
entityName
datastore entity group name
[filters]
array of filter objects:
property
property to filter
[operator]
filter operator, default =
[order]
order object
property
property to order
[descending]
true
: descending, false
: ascending, default false
In case the query searches only some fields or in case some sortings are necessary, it will be necessary to create indexes: if you are curious to understand how they work, check here: Indexes .
If, you have already started using them and want to understand how to optimize them: Index optimization
Example
Copy //return first 10 entity
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
});
Copy //return first 10 entity order by createDate desc
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
});