如何在没有模型的情况下使用 mongoose 查询 mongoDB

How to query mongoDB with mongoose without having a model

所以我想在不使用模型的情况下查询我的 mongo 数据库,让我先说一下,我正在寻找使用 mongodb 驱动程序以外的选项。所以在一个应用程序中,我为该数据库设置了 mongoose 模型和模式,我正在构建一个使用相同数据库的单独应用程序,当我意识到这个应用程序将使用存储在我要 'need' 定义一个仅供用户授权的模型吗?

例如,在我定义模型的其他应用程序中,我只会使用 Model.findOne({}) 命令,但在这个应用程序中,我看不到重新定义模型本身的好处,当然我可以简单地 copy/paste 将代码添加到新应用程序中,这样就可以了。但是,我担心如果我需要 add/remove 来自一个应用程序中数据库模型的字段,如果我无法更新另一个应用程序,它可能会破坏该应用程序和该应用程序中的数据。我参考了这篇文章 here

但是这篇文章有点过时,我没有连接到数据库然后像评分最高的答案那样对其进行处理,通常我在我的 server.js 文件中打开一个到数据库的连接并且在模型的其他地方使用该连接。但这在这里可能是不可能的。

我发现 Mongo 是一个无模式数据库,所以如果你想使用 mongoose 作为抽象层与数据库交互,你只需要定义一个模型并使用设置,strict: false 这将允许您像在 mongoose 定义模式的普通应用程序中一样与数据库交互,但是我想指出,如果您正在创建一个文档,然后插入一个 image 字段。但在不同的应用程序中,它期望一个名为 imageUrl 的字段,然后你 运行 遇到了问题,因为它会在你的文档中创建一个字段 image。这就是 strict: true 模型的优点,如果你传入一个不符合 mongoose 模型定义的字段,它会忽略它。