MongoError: clientcursor already in use? driver problem?
const { MongoClient } = require('mongodb');
(async () => {
const db = await MongoClient.connect('mongodb://127.0.0.1/test');
const cursor = db.collection('test').find();
while (cursor.hasNext()) {
const item = await cursor.next();
console.log(item);
}
})().catch(console.error);
Produces the following error:
{ MongoError: clientcursor already in use? driver problem?
at Function.MongoError.create (/node_modules/mongodb-core/lib/error.js:31:11)
at /node_modules/mongodb-core/lib/connection/pool.js:497:72
at authenticateStragglers (/node_modules/mongodb-core/lib/connection/pool.js:443:16)
at Connection.messageHandler (/node_modules/mongodb-core/lib/connection/pool.js:477:5)
at Socket.<anonymous> (/node_modules/mongodb-core/lib/connection/connection.js:331:22)
at emitOne (events.js:115:13)
at Socket.emit (events.js:210:7)
at addChunk (_stream_readable.js:266:12)
at readableAddChunk (_stream_readable.js:253:11)
at Socket.Readable.push (_stream_readable.js:211:10)
name: 'MongoError',
message: 'clientcursor already in use? driver problem?',
ok: 0,
errmsg: 'clientcursor already in use? driver problem?',
code: 12051,
codeName: 'Location12051' }
Versions:
Did anyone solve this problem?
My wrong... I forgot await
for cursor.hasNext()
.
Correct code is:
while (await cursor.hasNext()) {
const item = await cursor.next();
console.log(item);
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With