Node.js 如何在测试NodeJS/TypeScript中将MongoDB文档转换为对象/类

Node.js 如何在测试NodeJS/TypeScript中将MongoDB文档转换为对象/类,node.js,mongodb,testing,Node.js,Mongodb,Testing,我的问题有两个层次 如何正确地将MongoDB中的findOne转换为真实对象? (以下问题示例) 如果我真的不能做到这一点(通过谷歌初步搜索),那有什么问题 之后验证MongoDB数据库内容的正确方法 运行某些函数(如insertOne) 我只使用原始的MongoDB驱动程序,没有Mongoose。这是一个带有TypeScript和Mocha的NodeJS应用程序,用于测试 假设我有一个示例类: export class Person { get Name(): string{

我的问题有两个层次

  • 如何正确地将MongoDB中的
    findOne
    转换为真实对象? (以下问题示例)
  • 如果我真的不能做到这一点(通过谷歌初步搜索),那有什么问题 之后验证MongoDB数据库内容的正确方法 运行某些函数(如
    insertOne
  • 我只使用原始的MongoDB驱动程序,没有Mongoose。这是一个带有TypeScript和Mocha的NodeJS应用程序,用于测试

    假设我有一个示例类:

    export class Person {
    
        get Name(): string{
            return this.name;
        }
        set Name(value: string) {
            this.name= value;
        }
    
        constructor(private name: String) {
        }
    }
    
    然后,为了进行一些测试,我使用
    insertOne

    db.collection.insertOne(new Person("Thomas"));
    
    现在,我想验证人员是否正确插入,因此我使用
    findOne
    并验证功能

    const person: Person = await db.collection.findOne(collection, {-insert Person query-}) as Person;
    // Here is what I want to fix (this errors out):
    expect(person.Name).to.equal("Thomas");
    
    在这里,person作为json对象返回(这是预期的)。这意味着
    .Name
    属性不存在,只有
    .Name

    问题再次出现在帖子的顶部!谢谢大家!