我想使用mongodb数据库,但是我注意到有两个不同的数据库,它们都有自己的网站和安装方法:mongodb和mongoose。因此,我问自己一个问题:“我使用哪个?”。
因此,为了回答这个问题,我问社区是否可以解释这两者之间的区别?以及是否有利弊?因为它们看起来和我非常相似。
我假设您已经知道MongoDB是一个NoSQL数据库系统,它以BSON文档的形式存储数据。但是,您的问题是有关Node.js的软件包的。
就Node.js而言,mongodb是用于与mongodb实例进行交互的 本机驱动程序 ,而mongoose是 用于MongoDB 的 对象建模工具 。
Mongoose建立在MongoDB驱动程序之上,为程序员提供了一种对其数据进行建模的方法。
编辑: 我不想评论哪个更好,因为这会使这个答案自以为是。但是,我将列出使用这两种方法的优点和缺点。
使用Mongoose,用户可以为特定集合中的文档定义架构。它在MongoDB中创建和管理数据提供了很多便利。不利的一面是,学习猫鼬可能会花费一些时间,并且在处理非常复杂的模式时会有一些限制。
但是,如果您的收集模式是不可预测的,或者您想要在Node.js中体验类似Mongo- shell的体验,请继续使用MongoDB驱动程序。这是最简单的拿起。不利之处在于,您将必须编写大量代码来验证数据,并且出错的风险更高。