MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Làm cách nào để xác định trình trợ giúp truy vấn tùy chỉnh trong mô hình mongoose với bản ghi?

Tôi đã soạn thảo phiên bản mới của @types/mongoose hỗ trợ người trợ giúp truy vấn. Xem câu trả lời này để biết cách cài đặt @types đã sửa đổi bưu kiện. Với phiên bản của tôi, bạn có thể viết như sau trong 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);

rồi đến routes/article.ts sẽ làm việc. Nếu điều này phù hợp với bạn, thì tôi sẽ gửi một yêu cầu kéo đến gói ban đầu trên Chắc chắnTyped.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongodb xóa tất cả các ngày ít hơn được chỉ định

  2. Việc chèn nhiều tài liệu trong Bộ sưu tập sao băng có hoạt động giống như mongodb thuần túy không?

  3. Tìm kiếm nhiều mảng lồng nhau trong Mongodb

  4. Mongoose cập nhật / nâng cấp?

  5. MongoDB - Khung tổng hợp (Tổng số)