[英]Using mongoDB with node.js with the driver
我正在尝试将 mongoDB 与驱动程序一起使用
我使用本指南https://medium.com/@LondonAppBrewery/how-to-download-install-mongodb-on-windows-4ee4b3493514在 Windows 中安装了 mongoDB。
我创建了一个新目录和一个 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);
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);
有关更多信息,请查看此文档:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.