Node.js 如何使用mongoose从mongoDB获取现有模型
嗨,我在mongoDB中有一个名为db的测试。在这个数据库中,我有3个模型,其中一个名为“rentals”。如何使用mongoose从该模型检索所有数据。下面是我创建连接并获取客户机对象的代码 我尝试了不同的步骤,但没有一个有效,我得到了错误-模式没有定义。请帮忙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)=>{
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
}
如果您不想自己创建模型,那么会有一些包生成这些模型,如