> For the complete documentation index, see [llms.txt](https://sebloix.gitbook.io/gstore-node/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sebloix.gitbook.io/gstore-node/master.md).

# Introduction

![](/files/-LUH8lf45DsGpdFZoOoP)

## Introduction

> gstore-node is a Google Datastore **entities modeling library** for Node.js inspired by Mongoose and built on top of the [@google-cloud-node](https://github.com/GoogleCloudPlatform/google-cloud-node) library.

### Hightlight

* explicit **Schema declaration** for entities
* properties **type validation**
* properties **value validation**
* **shortcuts** queries
* pre & post **middleware** (hooks)
* **custom methods** on entity instances
* **Joi** type and validation ([documentation](https://www.npmjs.com/package/joi))
* [**cache**](/gstore-node/cache-dataloader/cache.md) layer to speed up entities fetching
* [**Typescript**](/gstore-node/typescript.md) support
* [**populate()**](/gstore-node/populate.md) support to fetch reference entities and do cross Entity Type "joins" when querying one or multiple entities

### Repository

<https://github.com/sebelga/gstore-node>

### Support

<https://github.com/sebelga/gstore-node/issues>
