NodeJS,TypeScript,Mongoose无法使用FindById获取文档

时间:2018-10-24 07:23:44

标签: node.js typescript mongoose

好吧,NodeJS和Mongoose的新手,将尝试从集合中获取文档,并按照我的意愿使用类来管理结果。

我遵循了许多芭蕾舞短裙,但是...我不明白为什么在下面的代码中,我总是在模型上使用findById()方法得到一个空对象。

花了几个小时后,我决定寻求帮助...

所以,首先我定义一个Model(简化版):

let navController = UINavigationController.init(rootViewController: VC2)

接下来,创建一个类(出于商业目的):

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

import { DocumentInterface } from './../interfaces/document-product-interface';
import { ProductClass } from './product-class';

var productSchema: Schema = new Schema(
    {
        _id: {
            type: String,
            required: 'Required _id'
        },
        id: {
            type: String,
            required: 'EAN required'
        },
        product_name: {
            type: String
        }
    }
);

// Scheme methods
productSchema.method('title', ProductClass.prototype.title);

export const Products: Model<DocumentInterface> = model<DocumentInterface>('ProductClass', productSchema);

下一步...文档界面:

import { ProductInterface } from './../interfaces/product-interface';

export class ProductClass implements ProductInterface{
    public _id: String;
    public id: String;
    public product_name_fr?: string;
    public product_name?: string;

public constructor() {}

public title(): string {
  return 'something';
}
}

最后,只是一个控制器,以获得一个产品:

import { Document } from 'mongoose';
import { ProductInterface } from './product-interface';
import { ProductClass } from 'models/product-class';

export interface DocumentInterface extends ProductInterface, Document, ProductClass {}

当我与Postman一起使用并使用正确的_id时,产品的价格为空...

如果我删除所有类和接口,请获取整个文档...

此代码有什么问题?

Thx

0 个答案:

没有答案