Node.js 如何使用mongoose从mongoDB获取现有模型

Node.js 如何使用mongoose从mongoDB获取现有模型,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,嗨,我在mongoDB中有一个名为db的测试。在这个数据库中,我有3个模型,其中一个名为“rentals”。如何使用mongoose从该模型检索所有数据。下面是我创建连接并获取客户机对象的代码 我尝试了不同的步骤,但没有一个有效,我得到了错误-模式没有定义。请帮忙 mongoose.connect(config.connection_string , {useNewUrlParser: true, useUnifiedTopology: true}).then((client)=>{

嗨,我在mongoDB中有一个名为db的测试。在这个数据库中,我有3个模型,其中一个名为“rentals”。如何使用mongoose从该模型检索所有数据。下面是我创建连接并获取客户机对象的代码

我尝试了不同的步骤,但没有一个有效,我得到了错误-模式没有定义。请帮忙

mongoose.connect(config.connection_string , {useNewUrlParser: true, useUnifiedTopology: true}).then((client)=>{

        /*client.model('rentals')*/
         /*client.collection("rentals").find({}).then(data=>{
            console.log(data)
         })*/
        }) 

Mongoose是基于模式的,Mongodb不是

使用mongoose获取现有数据的方法是在代码中定义数据的模型

例如,如果数据库中的数据如下所示:

[{
  name: 'Foo',
}, {
  name: 'Bar',
  age: 55,
}, {
  carBrand: 'Toyota',
}]
1/您可以使用大猫鼬模式读取所有数据:

{
  name: string,
  age: number,
  carBrand: string,
}
你会得到

[{
  name: 'Foo',
  age: undefined,
  carBrand: undefined,
}, {
  name: 'Bar',
  age: 55,
  carBrand: undefined,
}, {
  name: undefined,
  age: undefined,
  carBrand: 'Toyota',
}]
2/您可以读取目标数据,创建特定的模式

schemaA = {
  name: string,
}

schemaB = {
  name: string,
  age: number,
}

schemaC = {
  carBrand: string
}
如果您不想自己创建模型,那么会有一些包生成这些模型,如