🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
DemoInstallSign in
Socket

mongoose-uuid-ts

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mongoose-uuid-ts

uuid for mongoose

1.0.4
latest
Source
npm
Version published
Weekly downloads
32
28%
Maintainers
1
Weekly downloads
 
Created
Source

Mongoose UUID Schema Type

This is a custom schema type for Mongoose that allows storing and manipulating UUID (Universally Unique Identifier) values as buffers in MongoDB. It extends the existing UUID schema type provided by Mongoose.

Installation

To use the UUIDSchemaType, you need to have Mongoose and the uuid package installed in your project.

npm install mongoose uuid

Usage

  • Import the required dependencies:
import mongoose from "mongoose";
import { v4 as uuidv4, validate as uuidValidate } from "uuid";
import { Buffer } from "buffer";
  • Define the UUIDSchemaType class, extending the UUID schema type provided by Mongoose:
class UUIDSchemaType extends mongoose.Schema.Types.UUID {
  // Custom implementation of the UUID schema type
  // ...
}
  • Implement the necessary methods (cast, castForQuery, get, checkRequired) in the UUIDSchemaType class according to your requirements. These methods handle the casting, querying, getting, and validation of UUID values.

  • Register the UUIDSchemaType with Mongoose:

mongoose.Schema.Types.UUID = UUIDSchemaType;
  • Now, you can use the UUID schema type in your Mongoose schemas:
const MySchema = new mongoose.Schema({
  uuidField: {
    type: mongoose.Schema.Types.UUID,
    required: true,
  },
  // ...
});

Example

Here's an example demonstrating the usage of the UUIDSchemaType:

// Import necessary dependencies and define UUIDSchemaType

// ...

// Add UUID to Mongoose Schema types
mongoose.Schema.Types.UUID = UUIDSchemaType;

// Create a sample schema
const UserSchema = new mongoose.Schema({
  id: {
    type: mongoose.Schema.Types.UUID,
    default: () => uuidv4(),
  },
  name: String,
});

// Create a model using the schema
const User = mongoose.model("User", UserSchema);

// Create a new user
const newUser = new User({
  name: "John Doe",
});

// Save the user to the database
newUser.save()
  .then((user) => {
    console.log("User created:", user);
  })
  .catch((error) => {
    console.error("Error creating user:", error);
  });

License

This code is provided under the MIT License.

Contributing

Contributions are welcome! If you find any issues or have suggestions for improvement, please open an issue or submit a pull request on GitHub.

Credits

This custom schema type is developed and maintained by Anshul Rai.

Resources

Feel free to modify and enhance the README as per your specific requirements and preferences.

Keywords

mongoose

FAQs

Package last updated on 16 Jun 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts