MongoDB 中的 mongoClient.connect VS mongoose.connect

Pir*_*uvi 2 mongoose mongodb express mongodb-query

我是后端初学者。我对 MongoDB 有疑问。Express框架中的mongoClient.connectmongoose.connect有什么区别?

sri*_*asy 5

这两个可以不同:

通常当您使用时mongoClient.connect,那么您可能应该使用node-mongodb-native-driver

示例代码:

const MongoClient = require('mongodb').MongoClient;
MongoClient.connect(url)
Run Code Online (Sandbox Code Playgroud)

但是当你看到mongoose正在该项目中使用mongoose.connect时:

示例代码:

const mongoose = require('mongoose')
mongoose.connect(url)
Run Code Online (Sandbox Code Playgroud)

这两个是不同的包,您可以通过它们使用 node.js 连接到 MongoDB。如果您使用mongoose,那么您可能不需要 nodejs-mongodb 本机驱动程序,因为 mongoose 有很多功能,这些功能基本上是现有本机驱动程序的包装器。猫鼬内部将使用本机驱动程序。如果你想让你的 MongoDB 看起来基于模式,那么 mongoose 可以帮助你很多,因为你将为你的集合定义模式并在数据插入时对这些模式进行操作。