我怎么知道回调中是否需要 "err" 参数?
How would I know if "err" argument is needed in the callback?
我是 mongodb 和 javascript 的初学者。
我这里有 Mongodb Nodejs 中简单 find 方法的代码。
此代码无效。
解决方法是将最后一行改为:cursor.limit(10).toArray((err, docs) => console.log(docs));
.
我不明白的是为什么我需要在这里包含 err
参数?这里是documentation for toArray method。这里没有说需要err
参数。我怎么知道这里或其他方法需要 err
参数?
非常感谢!我认为这是一个非常基本的概念,我将不胜感激。
const client = new MongoClient(uri);
client.connect()
.then(() => {
const db = client.db('sample_mflix');
const coll = db.collection('movies');
const cursor = coll.find();
cursor.limit(10).toArray((docs) => console.log(docs));
})
在您链接的文档中,我们可以看到 FindCursor.toArray
有两个有效的语法排列:
toArray(): Promise<TSchema[]>
toArray(callback: Callback<TSchema[]>): void
既然你用的是第二个,我们需要看看documentation for Callback
。它说只有一种有效语法:
Callback<T>: (error?: AnyError, result?: T) => void
您必须包含 error
参数才能获得有效的 Callback
,然后,您必须具有有效的 Callback
才能使用 toArray(:Callback)
排列。
表达您不关心参数值 is to use an underscore (_
) 作为参数名称的典型方式。
const client = new MongoClient(uri);
client.connect()
.then(() => {
const db = client.db('sample_mflix');
const coll = db.collection('movies');
const cursor = coll.find();
cursor.limit(10).toArray((_, docs) => { console.log(docs); });
})
如果您想使用第一个排列(returns 和 Promise
),它将如下所示。这就是您已经在处理 MongoClient.connect
.
的方式
const client = new MongoClient(uri);
client.connect()
.then(() => {
const db = client.db('sample_mflix');
const coll = db.collection('movies');
const cursor = coll.find();
cursor.limit(10).toArray()
.then(docs => { console.log(docs); });
})
实际上文档说要传递一个 callback.have 你检查回调采用什么参数?是的,这是错误和结果。
toArray(callback: Callback<TSchema[]>): void
Callback<T>: (error?: AnyError, result?: T) => void
我是 mongodb 和 javascript 的初学者。
我这里有 Mongodb Nodejs 中简单 find 方法的代码。 此代码无效。
解决方法是将最后一行改为:cursor.limit(10).toArray((err, docs) => console.log(docs));
.
我不明白的是为什么我需要在这里包含 err
参数?这里是documentation for toArray method。这里没有说需要err
参数。我怎么知道这里或其他方法需要 err
参数?
非常感谢!我认为这是一个非常基本的概念,我将不胜感激。
const client = new MongoClient(uri);
client.connect()
.then(() => {
const db = client.db('sample_mflix');
const coll = db.collection('movies');
const cursor = coll.find();
cursor.limit(10).toArray((docs) => console.log(docs));
})
在您链接的文档中,我们可以看到 FindCursor.toArray
有两个有效的语法排列:
toArray(): Promise<TSchema[]>
toArray(callback: Callback<TSchema[]>): void
既然你用的是第二个,我们需要看看documentation for Callback
。它说只有一种有效语法:
Callback<T>: (error?: AnyError, result?: T) => void
您必须包含 error
参数才能获得有效的 Callback
,然后,您必须具有有效的 Callback
才能使用 toArray(:Callback)
排列。
表达您不关心参数值 is to use an underscore (_
) 作为参数名称的典型方式。
const client = new MongoClient(uri);
client.connect()
.then(() => {
const db = client.db('sample_mflix');
const coll = db.collection('movies');
const cursor = coll.find();
cursor.limit(10).toArray((_, docs) => { console.log(docs); });
})
如果您想使用第一个排列(returns 和 Promise
),它将如下所示。这就是您已经在处理 MongoClient.connect
.
const client = new MongoClient(uri);
client.connect()
.then(() => {
const db = client.db('sample_mflix');
const coll = db.collection('movies');
const cursor = coll.find();
cursor.limit(10).toArray()
.then(docs => { console.log(docs); });
})
实际上文档说要传递一个 callback.have 你检查回调采用什么参数?是的,这是错误和结果。
toArray(callback: Callback<TSchema[]>): void
Callback<T>: (error?: AnyError, result?: T) => void