> db.createCollection('P12345');
{ "ok" : 0, "errmsg" : "collection already exists", "code" : 48 }
> db.createCollection('P123456');
{ "ok" : 1 }
> db.createCollection('P123451');
{ "ok" : 1 }
Я пытаюсь сделать то же самое, коллекцию с использованием собственного драйвера mongo и node.js
MongoClient.connect(url,{ useNewUrlParser: true },(err,client)=>{
if (err){
console.info(err);
}
const db = client.db('Customers');
db.createCollection('P987654321').then((result)=>{
console.info(result);
}).catch((err)=>{
console.info(err);
});
client.close();
})
Но я вижу приведенную ниже форму ошибки при запуске этого блока кода.
{ MongoError: topology was destroyed
at executeCommand (F:\test\node_modules\mongodb\lib\operations\db_ops.js:473:21)
at db.listCollections.setReadPreference.toArray (F:\test\node_modules\mongodb\lib\operations\db_ops.js:232:7)
at result (F:\test\node_modules\mongodb\lib\utils.js:414:17)
at executeCallback (F:\test\node_modules\mongodb\lib\utils.js:406:9)
at handleCallback (F:\test\node_modules\mongodb\lib\utils.js:128:55)
at cursor.close (F:\test\node_modules\mongodb\lib\operations\cursor_ops.js:211:62)
at handleCallback (F:\test\node_modules\mongodb\lib\utils.js:128:55)
at completeClose (F:\test\node_modules\mongodb\lib\cursor.js:893:14)
at CommandCursor.Cursor.close (F:\test\node_modules\mongodb\lib\cursor.js:912:10)
at cursor._next (F:\test\node_modules\mongodb\lib\operations\cursor_ops.js:211:23) name: 'MongoError', [Symbol(mongoErrorContextSymbol)]: {} }
ОК, я обнаружил удаление client.close (); разрешает ошибку топологии, но результат отличается от более чем 2000 строк JSON, есть ли лучший способ узнать, создана ли коллекция, потому что результат такой же, даже если коллекция существует.
Вы можете использовать listCollections, чтобы узнать, существует ли уже коллекция: mongodb.github.io/node-mongodb-native/2.0/api/…



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)

