{"_path":"/api/utils","_dir":"api","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Utils","description":"Discover all available utils.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"utils"},"children":[{"type":"text","value":"Utils"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Discover all available utils."}]},{"type":"element","tag":"h2","props":{"id":"definemongoosemodel"},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"defineMongooseModel"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This function creates a new Mongoose model with schema. Example usage:"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code","props":{"className":["language-ts"],"code":"export const User = defineMongooseModel({\n name: 'User',\n schema: {\n email: {\n type: 'string',\n required: true,\n unique: true,\n },\n },\n options: {\n \n },\n hooks(schema) {\n\n },\n})\n","filename":"named parameters","language":"ts","meta":""},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"class":"ct-942366"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-942366"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-998471"},"children":[{"type":"text","value":"User"}]},{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-942366"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-923966"},"children":[{"type":"text","value":"defineMongooseModel"}]},{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":"({\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":" name: "}]},{"type":"element","tag":"span","props":{"class":"ct-667011"},"children":[{"type":"text","value":"'User'"}]},{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":",\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":" schema: {\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":" email: {\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":" type: "}]},{"type":"element","tag":"span","props":{"class":"ct-667011"},"children":[{"type":"text","value":"'string'"}]},{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":",\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":" required: "}]},{"type":"element","tag":"span","props":{"class":"ct-998471"},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":",\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":" unique: "}]},{"type":"element","tag":"span","props":{"class":"ct-998471"},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":",\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":" },\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":" },\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":" options: {\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":" \n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":" },\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-923966"},"children":[{"type":"text","value":"hooks"}]},{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-443230"},"children":[{"type":"text","value":"schema"}]},{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":") {\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":" },\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":"})"}]}]}]}]}]},{"type":"element","tag":"code","props":{"className":["language-ts"],"code":"import { defineMongooseModel } from '#nuxt/mongoose'\n\nexport const User = defineMongooseModel('User', {\n email: {\n type: 'string',\n required: true,\n unique: true,\n },\n}, {\n \n}, (schema) => {\n\n})\n","filename":"positional parameters","language":"ts","meta":""},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"class":"ct-942366"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":" { defineMongooseModel } "}]},{"type":"element","tag":"span","props":{"class":"ct-942366"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-667011"},"children":[{"type":"text","value":"'#nuxt/mongoose'\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"class":"ct-942366"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-942366"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-998471"},"children":[{"type":"text","value":"User"}]},{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-942366"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-923966"},"children":[{"type":"text","value":"defineMongooseModel"}]},{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-667011"},"children":[{"type":"text","value":"'User'"}]},{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":", {\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":" email: {\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":" type: "}]},{"type":"element","tag":"span","props":{"class":"ct-667011"},"children":[{"type":"text","value":"'string'"}]},{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":",\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":" required: "}]},{"type":"element","tag":"span","props":{"class":"ct-998471"},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":",\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":" unique: "}]},{"type":"element","tag":"span","props":{"class":"ct-998471"},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":",\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":" },\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":"}, {\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":" \n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":"}, ("}]},{"type":"element","tag":"span","props":{"class":"ct-443230"},"children":[{"type":"text","value":"schema"}]},{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":") "}]},{"type":"element","tag":"span","props":{"class":"ct-942366"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":" {\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":"})"}]}]}]}]}]}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Key"}]}]},{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Type"}]}]},{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Require"}]}]},{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"name"}]}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"string"}]}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Name of Model"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"schema"}]}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"a","props":{"href":"https://mongoosejs.com/docs/schematypes.html","rel":["nofollow"]},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"SchemaDefinition"}]}]}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Schema Definition of Model"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"options"}]}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"a","props":{"href":"https://mongoosejs.com/docs/guide.html#options","rel":["nofollow"]},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"SchemaOptions"}]}]}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Schema Options for Model"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"hooks"}]}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"a","props":{"href":"https://mongoosejs.com/docs/middleware.html","rel":["nofollow"]},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"(schema: Schema) => void"}]}]}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Schema Hooks Function to customize Model"}]}]}]}]},{"type":"element","tag":"alert","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"you can access the default connection with importing it from mongoose:"}]}]},{"type":"element","tag":"code","props":{"className":["language-undefined"],"code":"import { connection } from 'mongoose'\n"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"import { connection } from 'mongoose'"}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"definemongooseconnection"},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"defineMongooseConnection"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This function creates a new Mongoose connection."}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"nuxt-mongoose"}]},{"type":"text","value":" 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 "},{"type":"element","tag":"a","props":{"href":"https://github.com/arashsheyda/nuxt-mongoose/blob/main/src/runtime/server/plugins/mongoose.db.ts","rel":["nofollow"]},"children":[{"type":"text","value":"here"}]},{"type":"text","value":"."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Example usage:"}]},{"type":"element","tag":"code","props":{"className":["language-ts"],"code":"import { defineMongooseConnection } from '#nuxt/mongoose'\n\nexport const connection = defineMongooseConnection('mongodb://127.0.0.1/nuxt-mongoose')\n","language":"ts","meta":""},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"class":"ct-942366"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":" { defineMongooseConnection } "}]},{"type":"element","tag":"span","props":{"class":"ct-942366"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-667011"},"children":[{"type":"text","value":"'#nuxt/mongoose'\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"class":"ct-942366"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-942366"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-998471"},"children":[{"type":"text","value":"connection"}]},{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-942366"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-923966"},"children":[{"type":"text","value":"defineMongooseConnection"}]},{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-667011"},"children":[{"type":"text","value":"'mongodb://127.0.0.1/nuxt-mongoose'"}]},{"type":"element","tag":"span","props":{"class":"ct-935781"},"children":[{"type":"text","value":")"}]}]}]}]}]},{"type":"element","tag":"style","children":[{"type":"text","value":".dark .ct-942366{color:#FF7B72;}\n.ct-942366{color:#CF222E;}\n.dark .ct-935781{color:#C9D1D9;}\n.ct-935781{color:#24292F;}\n.dark .ct-998471{color:#79C0FF;}\n.ct-998471{color:#0550AE;}\n.dark .ct-923966{color:#D2A8FF;}\n.ct-923966{color:#8250DF;}\n.dark .ct-667011{color:#A5D6FF;}\n.ct-667011{color:#0A3069;}\n.dark .ct-443230{color:#FFA657;}\n.ct-443230{color:#953800;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"definemongoosemodel","depth":2,"text":"defineMongooseModel"},{"id":"definemongooseconnection","depth":2,"text":"defineMongooseConnection"}]}},"_type":"markdown","_id":"content:2.api:1.utils.md","_source":"content","_file":"2.api/1.utils.md","_extension":"md"}