docs: update ui
This commit is contained in:
56
docs/content/1.docs/1.getting-started/1.setup.md
Normal file
56
docs/content/1.docs/1.getting-started/1.setup.md
Normal file
@ -0,0 +1,56 @@
|
||||
# Setup
|
||||
|
||||
A Nuxt module for simplifying the use of Mongoose in your project.
|
||||
|
||||
## Installation
|
||||
|
||||
1. Install `nuxt-mongoose` to your dependencies.
|
||||
|
||||
::code-group
|
||||
|
||||
```bash [pnpm]
|
||||
pnpm add nuxt-mongoose -D
|
||||
```
|
||||
|
||||
```bash [npm]
|
||||
npm install nuxt-mongoose -D
|
||||
```
|
||||
|
||||
```bash [yarn]
|
||||
yarn add nuxt-mongoose -D
|
||||
```
|
||||
|
||||
::
|
||||
|
||||
2. Add `nuxt-mongoose` to the `modules` section of your `nuxt.config` file.
|
||||
|
||||
```ts [nuxt.config]
|
||||
export default defineNuxtConfig({
|
||||
modules: [
|
||||
'nuxt-mongoose',
|
||||
],
|
||||
})
|
||||
```
|
||||
|
||||
::alert{ type=success }
|
||||
That's it! You can now use Mongoose in your Nuxt app ✨
|
||||
::
|
||||
|
||||
|
||||
## Options
|
||||
|
||||
You can configure the module by adding a `mongoose` section to your `nuxt.config` file.
|
||||
read more about [Mongoose options](/getting-started/configuration).
|
||||
|
||||
```ts [nuxt.config]
|
||||
export default defineNuxtConfig({
|
||||
mongoose: {
|
||||
// Options
|
||||
},
|
||||
})
|
||||
```
|
||||
If you want to configure only the `uri` just add `MONGODB_URI` in your `.env` file.
|
||||
|
||||
```env
|
||||
MONGODB_URI=YOUR_MONGO_URI
|
||||
```
|
||||
21
docs/content/1.docs/1.getting-started/3.configuration.md
Normal file
21
docs/content/1.docs/1.getting-started/3.configuration.md
Normal file
@ -0,0 +1,21 @@
|
||||
# Configuration
|
||||
|
||||
Configure Nuxt Mongoose with the `mongoose` property.
|
||||
|
||||
```ts [nuxt.config]
|
||||
export default defineNuxtConfig({
|
||||
mongoose: {
|
||||
uri: 'process.env.MONGODB_URI',
|
||||
options: {},
|
||||
modelsDir: 'models',
|
||||
devtools: true,
|
||||
},
|
||||
})
|
||||
```
|
||||
|
||||
| **Key** | **Type** | **Default** | **Description** |
|
||||
| ---------------------------- | ---------- | ----------------------- | ---------------------------------------------------------------------------------------------------- |
|
||||
| `uri` | `string` | process.env.MONGODB_URI | Connection Uri String |
|
||||
| `options` | `ConnectOptions` | { } | Connection Options |
|
||||
| `modelsDir` | `string` | models | The models(schema) directory located in `server` for auto-import |
|
||||
| `devtools` | `boolean` | true | Enable Mongoose module in [`Nuxt Devtools`](https://github.com/nuxt/devtools) |
|
||||
2
docs/content/1.docs/1.getting-started/_dir.yml
Normal file
2
docs/content/1.docs/1.getting-started/_dir.yml
Normal file
@ -0,0 +1,2 @@
|
||||
icon: tabler:brand-mongodb
|
||||
navigation.redirect: /getting-started/setup
|
||||
74
docs/content/1.docs/2.api/1.utils.md
Normal file
74
docs/content/1.docs/2.api/1.utils.md
Normal file
@ -0,0 +1,74 @@
|
||||
# Utils
|
||||
|
||||
Discover all available utils.
|
||||
|
||||
## `defineMongooseModel`
|
||||
|
||||
This function creates a new Mongoose model with schema. Example usage:
|
||||
|
||||
::code-group
|
||||
|
||||
```ts [named parameters]
|
||||
export const User = defineMongooseModel({
|
||||
name: 'User',
|
||||
schema: {
|
||||
email: {
|
||||
type: 'string',
|
||||
required: true,
|
||||
unique: true,
|
||||
},
|
||||
},
|
||||
options: {
|
||||
|
||||
},
|
||||
hooks(schema) {
|
||||
|
||||
},
|
||||
})
|
||||
```
|
||||
|
||||
```ts [positional parameters]
|
||||
import { defineMongooseModel } from '#nuxt/mongoose'
|
||||
|
||||
export const User = defineMongooseModel('User', {
|
||||
email: {
|
||||
type: 'string',
|
||||
required: true,
|
||||
unique: true,
|
||||
},
|
||||
}, {
|
||||
|
||||
}, (schema) => {
|
||||
|
||||
})
|
||||
```
|
||||
|
||||
::
|
||||
|
||||
|
||||
| **Key** | **Type** | **Require** | **Description** |
|
||||
| ---------------------------- | ----------- | ----------- | ----- |
|
||||
| `name` | `string` | true | Name of Model |
|
||||
| `schema` | [`SchemaDefinition`](https://mongoosejs.com/docs/schematypes.html) | true | Schema Definition of Model |
|
||||
| `options` | [`SchemaOptions`](https://mongoosejs.com/docs/guide.html#options) | false | Schema Options for Model |
|
||||
| `hooks` | [`(schema: Schema<T>) => void`](https://mongoosejs.com/docs/middleware.html) | false | Schema Hooks Function to customize Model |
|
||||
|
||||
|
||||
::alert
|
||||
you can access the default connection with importing it from mongoose:
|
||||
::
|
||||
```
|
||||
import { connection } from 'mongoose'
|
||||
```
|
||||
|
||||
## `defineMongooseConnection`
|
||||
This function creates a new Mongoose connection.
|
||||
- `nuxt-mongoose` provides a default connection for you, it auto-register a plugin in nitro, so you don't need to use this function unless you want to create a new connection. more info [here](https://github.com/arashsheyda/nuxt-mongoose/blob/main/src/runtime/server/plugins/mongoose.db.ts).
|
||||
|
||||
Example usage:
|
||||
|
||||
```ts
|
||||
import { defineMongooseConnection } from '#nuxt/mongoose'
|
||||
|
||||
export const connection = defineMongooseConnection('mongodb://127.0.0.1/nuxt-mongoose')
|
||||
```
|
||||
8
docs/content/1.docs/2.api/2.devtools.md
Normal file
8
docs/content/1.docs/2.api/2.devtools.md
Normal file
@ -0,0 +1,8 @@
|
||||
# Devtools (beta)
|
||||
|
||||
`nuxt-mongoose` comes with a [Nuxt Devtools](https://github.com/nuxt/devtools) module that allows you to manage your collections and generate api-endpoints & schemas...
|
||||
|
||||
Here is a demo video:
|
||||
|
||||
:video-player{src="https://www.youtube.com/watch?v=hK0npSfr_Vs"}
|
||||
|
||||
5
docs/content/1.docs/2.api/3.examples.md
Normal file
5
docs/content/1.docs/2.api/3.examples.md
Normal file
@ -0,0 +1,5 @@
|
||||
# Examples
|
||||
|
||||
Here are a few examples:
|
||||
|
||||
- Nuxt Mongoose Minimal: [:icon{name="tabler:brand-github"} Github](https://github.com/arashsheyda/nuxt-mongoose-minimal) [:icon{name="tabler:world"} Website](https://nuxt-mongoose-minimal.vercel.app/)
|
||||
2
docs/content/1.docs/2.api/_dir.yml
Normal file
2
docs/content/1.docs/2.api/_dir.yml
Normal file
@ -0,0 +1,2 @@
|
||||
title: API
|
||||
icon: tabler:book
|
||||
1
docs/content/1.docs/_dir.yml
Normal file
1
docs/content/1.docs/_dir.yml
Normal file
@ -0,0 +1 @@
|
||||
icon: tabler:file-description
|
||||
Reference in New Issue
Block a user