没有架构的猫鼬读取

Posted

技术标签:

【中文标题】没有架构的猫鼬读取【英文标题】:Mongoose read without schema 【发布时间】:2020-09-04 18:07:25 【问题描述】:

有没有一种方法可以在不定义架构的情况下使用 Mongoose(用于 node.js)从 MongoDB 中读取数据。

如果我只想打印出存储在集合中的所有数据,例如终端命令 db.collectionName.find() 的工作方式。我可以不通过架构来实现吗?

【问题讨论】:

【参考方案1】:

Mongoose 公开mongodb.DB instance 通过mongoose.connection.db,所以你可以直接使用 mongodb native driver

例如,如果您想打印出集合中存储的所有数据,而不 定义架构

let mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/testDB').then(() => 
    const db = mongoose.connection.db;
    db.collection('collection-name').find().toArray((err, result) => 
        console.log(result)
    );
).catch(err => console.log(err.message))

见mongodb原生驱动documentation 更多示例

【讨论】:

以上是关于没有架构的猫鼬读取的主要内容,如果未能解决你的问题,请参考以下文章

没有回调的猫鼬更新

嵌套数组上的猫鼬聚合

带有参考数组的猫鼬模型架构:CastError: Cast to ObjectId failed for value "["5f09b....,5f0d...."]&qu

国家电话代码前缀的猫鼬模式类型,例如“+44”

如何基于作为参数传递的动态模式的猫鼬模型?

具有角色的参考数组的猫鼬模式