Node.js MongoClient和我们在MongoClient.connect()方法的回调中得到的客户机对象之间有什么区别
在上面的代码中,我有一个MongoClient对象,我调用了MongoClient.connect()方法将我的节点应用程序与本地数据库服务器连接起来。在回调中,我得到了另一个用于执行数据库操作的客户机对象。我很难区分这两个对象:MongoClient和client(从回调中)Node.js MongoClient和我们在MongoClient.connect()方法的回调中得到的客户机对象之间有什么区别,node.js,mongodb,node-mongodb-native,Node.js,Mongodb,Node Mongodb Native,在上面的代码中,我有一个MongoClient对象,我调用了MongoClient.connect()方法将我的节点应用程序与本地数据库服务器连接起来。在回调中,我得到了另一个用于执行数据库操作的客户机对象。我很难区分这两个对象:MongoClient和client(从回调中)MongoClient是从mongodb包导入的类的名称 MongoClient.connect()是该类的静态方法。它创建MongoClient(您的客户端对象)的实际实例,并将其传递给回调函数 你真的做不了多少ẁith
MongoClient
是从mongodb
包导入的类的名称
MongoClient.connect()
是该类的静态方法。它创建MongoClient
(您的客户端
对象)的实际实例,并将其传递给回调函数
你真的做不了多少ẁithMongoClient
,因为它只是实际客户机的一个表示/一个类。它不是一个可以调用任何方法的实例
只需调用
MongoClient.connect
,您就可以得到该类的一个实例,您可以实际使用它来处理MongoDB。它只是初始化的db对象
你应该调查一下。Mongo团队有详细的解释
MongoClient:用于通过URL进行连接
mongoClient(客户端)作为参数:如果连接成功,将返回DB对象
const { MongoClient, ObjectID } = require('mongodb');
const debug = require('debug')('mongodb-connect');
MongoClient.connect('mongodb://localhost:27017/TodoApp', { useNewUrlParser: true }, (err, client) => {
if (err) return debug(`Unable to connect to the server ${err}`);
debug('Connected to the server');
const db = client.db('TodoApp');
db.collection('Todos').insertOne({
text: 'Something to do',
completed: false,
}, (error, result) => {
if (err) return debug(`There was a problem while inserting, ${error}`);
debug(`Data inserted successfully ${JSON.stringify(result.ops, undefined, 2)}`);
});
client.close();
});