gpt4 book ai didi

node.js - 如何使用 Node.js 连接到 mongoDB compass

转载 作者:可可西里 更新时间:2023-11-01 10:10:44 25 4
gpt4 key购买 nike

我正在尝试将数据从 node.js 发送到 mongoDB 罗盘服务器。我已经创建了一个 MongoDB 集群并下载了 Compass。我可以将 Compass 连接到集群,一切正常。

但是当我尝试将我的 Node.js 服务器连接到 Compass 时出现错误,下面是我的 Node 代码。

const express = require('express');

const MongoClient = require('mongodb').MongoClient;
const assert = require('assert');



const app = express();

// Connect to mongodb
// Connection URL

const url = "mongodb://tfi-mfgbt.mongodb.net/test" ;

// Database Name
const dbName = 'TFI';

// Use connect method to connect to the server
MongoClient.connect(url, function(err, client) {
assert.equal(null, err);
console.log("Connected successfully to server");

const db = client.db(dbName);

client.close();
});


const port = 5000;

app.listen(port, () => {
console.log(`Server started on port ${port}`);
});

我在终端中运行 Node app.js

MongoClient.connect.                                                                                                                                                              
Server started on port 5000
F:\code\vidjot\node_modules\mongodb\lib\operations\mongo_client_ops.js:439
throw err;
^

AssertionError [ERR_ASSERTION]: null == 'MongoNetworkError: failed to connect to server [tfi-mfgbt.mongodb.net:27017] on first connect [MongoNetworkError: getaddrinfo E
at F:\code\vidjot\app.js:20:10
at err (F:\code\vidjot\node_modules\mongodb\lib\utils.js:415:14)
at executeCallback (F:\code\vidjot\node_modules\mongodb\lib\utils.js:404:25)
at err (F:\code\vidjot\node_modules\mongodb\lib\operations\mongo_client_ops.js:284:21)
at connectCallback (F:\code\vidjot\node_modules\mongodb\lib\operations\mongo_client_ops.js:240:5)
at process.nextTick (F:\code\vidjot\node_modules\mongodb\lib\operations\mongo_client_ops.js:436:7)
at _combinedTickCallback (internal/process/next_tick.js:131:7)
at process._tickCallback (internal/process/next_tick.js:180:9)
[nodemon] app crashed - waiting for file changes before starting...

主机名 "mongodb://tfi-mfgbt.mongodb.net/test" 是我的 Compass session 的主机名。如所见here

最佳答案

为了连接 Mongo,我使用了这行代码:

    var mongoUrl = '"mongodb://tfi-mfgbt.mongodb.net/test"'
var mongoose = require('mongoose')
// updated 2021
mongoose.Promise = global.Promise;
mongoose.set('useNewUrlParser', true);
mongoose.set('useFindAndModify', false);
mongoose.set('useCreateIndex', true)

mongoose.connect(mongoUrl, { useUnifiedTopology: true })
.then(() => { log('Connected to MongoDB: %s \n ', mongoUrl) })
.catch((err) => { error('MongoDB connection error: %s \n', err); })

// Old connection
//mongoose.connect(mongoUrl, { useMongoClient: true })
//mongoose.connection.on('error', err => debug('MongoDB connection error: ${err}'));

这应该适合你!

并查询:

mySchema.find({},function(err, docs){... My code ...})

关于node.js - 如何使用 Node.js 连接到 mongoDB compass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51747101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com