windows Node.js与MongoDB的连接不会抛出错误消息,也不会创建集合

zbdgwd5y  于 2023-03-31  发布在  Windows
关注(0)|答案(1)|浏览(122)

所以我使用Node.js连接到MongoDB,每次我通过CMD运行我的JS文件,输入“node index.js”,我应该在MongoDB云中创建CreateCollection()或InsertOne()的代码不会抛出任何错误,并且我的集合或文档不会创建。
NPM版本:9.5.0节点版本:18.15.0 Mongo驱动程序版本:5.1.0
我的项目文件夹如下所示:
node_modules index.js package.JSON package-lock.JSON
index.js文档中的代码如下所示:

  1. const { MongoClient } = require('mongodb');
  2. const url = "mongodb+srv://username:<Password>@cluster0.wdj4kyi.mongodb.net/?retryWrites=true&w=majority";
  3. const client = new MongoClient(url);
  4. client.connect(err => {
  5. if (err) {
  6. console.log(err);
  7. return;
  8. }
  9. const database = client.db('mydatabase');
  10. database.createCollection('mycollection', (err, result) => {
  11. if (err) {
  12. console.log(err);
  13. return;
  14. }
  15. console.log('Collection created!');
  16. client.close();
  17. });
  18. });

是的,我把“用户名”和“密码”从网址改成了我自己的凭证;经过一些研究,我发现没有抛出任何错误可能意味着集合已经创建或用户没有正确的权限,但它们都不是True。我已经向我的用户保证了在MongoDB云中读写任何数据库的权限。
我已经尝试重新安装软件包。我甚至格式化了我的电脑,以为有一个损坏的文件或什么。我已经在MongoDB云创建了另一个帐户,以为在mongo中有一个配置错误;我还尝试了不同的sintaxes,如:

  1. // const mongodb = require('mongodb').MongoClient
  2. // const url = "mongodb+srv://Username:<Password>@cluster0.wdj4kyi.mongodb.net/?retryWrites=true&w=majority"
  3. // mongodb.connect(url,(error,base)=\>{
  4. // if(error)throw error;
  5. // const dbo = base.db("info")
  6. // const obj = {Name:"Pedro",Age:"23"}
  7. // const collec = dbo.collection("Infocollection").insertOne(obj,(error,result)=\>{
  8. // if(error)throw error
  9. // console.log("Inserted")
  10. // base.close()
  11. // })
  12. // })
nwo49xxi

nwo49xxi1#

尝试将代码 Package 在try-catch块中,以处理和诊断错误,如下所示:

  1. const { MongoClient } = require('mongodb');
  2. const url = "mongodb+srv://username:<Password>@cluster0.wdj4kyi.mongodb.net/?retryWrites=true&w=majority";
  3. const client = new MongoClient(url);
  4. client.connect(async (err) => {
  5. try {
  6. if (err) {
  7. console.log(err);
  8. return;
  9. }
  10. const database = client.db('mydatabase');
  11. const result = await database.createCollection('mycollection');
  12. console.log('Collection created!', result);
  13. const obj = { Name: 'Pedro', Age: '23' };
  14. const collection = database.collection('Infocollection');
  15. const insertResult = await collection.insertOne(obj);
  16. console.log('Document inserted!', insertResult);
  17. client.close();
  18. } catch (err) {
  19. console.log(err);
  20. }
  21. });
展开查看全部

相关问题