sql >> Database >  >> NoSQL >> MongoDB

Hoe een aangepaste query-helper in het mangoestmodel te definiëren met typoscript?

Ik heb een nieuwe versie van @types/mongoose die hulpvragen ondersteunt. Zie dit antwoord voor manieren om een ​​aangepaste @types . te installeren pakket. Met mijn versie zou je het volgende moeten kunnen schrijven in models/article.ts :

import { Document, Schema, Model, model, DocumentQuery } from 'mongoose';

interface IArticle extends Document {
   name: string;
}

interface IArticleModel extends Model<IArticle, typeof articleQueryHelpers> {
   someStaticMethod(): Promise<any>;
}

const ArticleSchema = new Schema( { name: String } )

let articleQueryHelpers = {
    byName(this: DocumentQuery<any, IArticle>, name: string) {
        return this.find({ name });
    }
};
ArticleSchema.query = articleQueryHelpers;

export default model<IArticle, IArticleModel>('Article', ArticleSchema);

en dan routes/article.ts zal werken. Als dit voor jou werkt, zal ik een pull-verzoek indienen bij het originele pakket op ZekerTyped.




  1. hoe ObjectId correct in mangoest te casten

  2. Geneste opmerkingen in MongoDB

  3. MongoEngine - Een andere gebruiker is al geverifieerd voor deze database. U moet eerst uitloggen

  4. Hoe waarden bijwerken met pymongo?