繁体   English   中英

将 mongoDB 与 node.js 与驱动程序一起使用

[英]Using mongoDB with node.js with the driver

我正在尝试将 mongoDB 与驱动程序一起使用

  1. 我使用本指南https://medium.com/@LondonAppBrewery/how-to-download-install-mongodb-on-windows-4ee4b3493514在 Windows 中安装了 mongoDB。

  2. 我创建了一个新目录和一个 app.js。 (按照本指南https://docs.mongodb.com/drivers/node/master/fundamentals/connection/ )在 app.js 中我粘贴了这个:

const { MongoClient } = require("mongodb");

// Connection URI
const uri =
  "mongodb+srv://sample-hostname:27017/?maxPoolSize=20&w=majority";

// Create a new MongoClient
const client = new MongoClient(uri);

async function run() {
  try {
    // Connect the client to the server
    await client.connect();

    // Establish and verify connection
    await client.db("admin").command({ ping: 1 });
    console.log("Connected successfully to server");
  } finally {
    // Ensures that the client will close when you finish/error
    await client.close();
  }
}
run().catch(console.dir);
  1. 在终端中,我在第一个 shell 中打开了 mongod,在第二个 shell 中,我在其目录中使用了命令“node app.js”。
The terminal printed this error:
C:\Users\Feder\Desktop\udemy\FruitProject\node_modules\mongodb-connection-string-url\lib\index.js:105
            throw new MongoParseError('mongodb+srv URI cannot have port number');
            ^

MongoParseError: mongodb+srv URI cannot have port number
    at new ConnectionString (C:\Users\Feder\Desktop\udemy\FruitProject\node_modules\←[4mmongodb-connection-string-url←[24m\lib\index.js:105:19)
    at Object.parseOptions (C:\Users\Feder\Desktop\udemy\FruitProject\node_modules\←[4mmongodb←[24m\lib\connection_string.js:210:17)
    at new MongoClient (C:\Users\Feder\Desktop\udemy\FruitProject\node_modules\←[4mmongodb←[24m\lib\mongo_client.js:62:46)
    at Object.<anonymous> (C:\Users\Feder\Desktop\udemy\FruitProject\app.js:8:16)
←[90m    at Module._compile (internal/modules/cjs/loader.js:1072:14)←[39m
←[90m    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1101:10)←[39m
←[90m    at Module.load (internal/modules/cjs/loader.js:937:32)←[39m
←[90m    at Function.Module._load (internal/modules/cjs/loader.js:778:12)←[39m
←[90m    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:76:12)←[39m
←[90m    at internal/main/run_main_module.js:17:47←[39m

不要使用 SRV 格式的 MongoDB URI,因为它需要一个主机名和一个有效的域名。 在您的情况下,您正在连接没有任何域名的本地主机。 而不是使用

const { MongoClient } = require("mongodb");

// Connection URI
const uri =
  "mongodb://sample-hostname:27017/?maxPoolSize=20&w=majority";

// Create a new MongoClient
const client = new MongoClient(uri);

async function run() {
  try {
    // Connect the client to the server
    await client.connect();

    // Establish and verify connection
    await client.db("admin").command({ ping: 1 });
    console.log("Connected successfully to server");
  } finally {
    // Ensures that the client will close when you finish/error
    await client.close();
  }
}
run().catch(console.dir);

有关更多信息,请查看此文档:

https://github.com/mongodb/specifications/blob/master/source/initial-dns-seedlist-discovery/initial-dns-seedlist-discovery.rst#seedlist-discovery

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM