【问题标题】:In my setup, where do I put { useNewUrlParser: true}? [duplicate]在我的设置中,我应该把 { useNewUrlParser: true} 放在哪里? [复制]
【发布时间】:2019-09-17 01:21:39
【问题描述】:

我不知道需要在哪里添加 { useNewUrlParser: true}。我应该把它放在哪里?或者我应该改变连接到 Mongo 的方式?

var express = require('express');
var router = express.Router();
var assert = require('assert');


var url = 'mongodb://urlformyconnection;
const MongoClient = require('mongodb').MongoClient;
const objectId = require('mongodb').ObjectID;
const client = new MongoClient(url);
const dbName ='transactions';
.....
router.post('/insert', function (req, res, next){

  var item = {
    firstN: req.body.firstN,
    lastN: req.body.lastN,
    ccNum: req.body.ccNum,
    cvc: req.body.cvc,
    zip: req.body.zip,
    amount: num
  };

  MongoClient.connect(url, function(err, client)
  {assert.equal(null, err);
    const db = client.db(dbName);
    db.collection('transac-info').insertOne(item, function (err, result) {
      assert.equal(null, err);
      console.log('Transaction Inserted');
      client.close();
    });
  });

  res.redirect('/');
});

【问题讨论】:

  • 请注意,首选连接方法是使用MongoClient.connect()调用staticconnect()方法,而您对new MongoClient的用法是后面的电话实际上是多余的。最重要的是不要在您的请求处理程序范围内连接和断开连接。数据库连接应该在应用程序的生命周期内持续存在。有关如何正确共享连接的详细信息,请参阅How to properly reuse connection to Mongodb across NodeJs application and modules

标签: javascript mongodb express


【解决方案1】:

您可以将您的选项作为第二个参数传递给 MongoClient():

const options = {useNewUrlParser: true};
const client = new MongoClient(url, options);

您可以在此处找到所有可用选项:http://mongodb.github.io/node-mongodb-native/3.2/api/MongoClient.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-30
    • 1970-01-01
    • 2019-07-11
    • 1970-01-01
    • 2016-08-25
    • 2013-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多