第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

通過將useNewUrlParser設(shè)置為true來避免“不建議使用當(dāng)前URL字符串解析器”警告

通過將useNewUrlParser設(shè)置為true來避免“不建議使用當(dāng)前URL字符串解析器”警告

慕桂英546537 2019-10-06 10:48:19
我有一個數(shù)據(jù)庫包裝器類,用于建立與某些MongoDB實(shí)例的連接:async connect(connectionString: string): Promise<void> {        this.client = await MongoClient.connect(connectionString)        this.db = this.client.db()}這給了我一個警告:(節(jié)點(diǎn):4833)DeprecationWarning:不建議使用當(dāng)前的URL字符串解析器,并將在以后的版本中將其刪除。要使用新的解析器,請將選項(xiàng){useNewUrlParser:true}傳遞給MongoClient.connect。該connect()方法接受一個MongoClientOptions實(shí)例作為第二個參數(shù)。但是它沒有名為的屬性useNewUrlParser。我也試圖像這樣在連接字符串中設(shè)置那些屬性:mongodb://127.0.0.1/my-db?useNewUrlParser=true但是它對那些警告沒有影響。那么我該如何設(shè)置useNewUrlParser刪除那些警告?這對我很重要,因?yàn)槟_本應(yīng)作為cron運(yùn)行,并且這些警告會導(dǎo)致垃圾郵件垃圾郵件。我正在使用帶有相應(yīng)包的mongodb版本的驅(qū)動程序。兩者都是最新可用的。3.1.0-beta4@types/mongodb3.0.18npm install解決方法使用舊版本的mongodb驅(qū)動程序:"mongodb": "~3.0.8","@types/mongodb": "~3.0.18"
查看完整描述

3 回答

?
當(dāng)年話下

TA貢獻(xiàn)1890條經(jīng)驗(yàn) 獲得超9個贊

檢查您的mongo版本


mongo --version

如果您使用的版本> = 3.1.0,請將mongo連接文件更改為->


MongoClient.connect("mongodb://localhost:27017/YourDB", { useNewUrlParser: true })

或您的貓鼬連接文件--


mongoose.connect("mongodb://localhost:27017/YourDB", { useNewUrlParser: true });

理想情況下,它是第4版功能,但v3.1.0及更高版本也支持它。 有關(guān)詳細(xì)信息,請查看MongoDB Github。


查看完整回答
反對 回復(fù) 2019-10-06
?
小唯快跑啊

TA貢獻(xiàn)1863條經(jīng)驗(yàn) 獲得超2個贊

如前所述3.1.0-beta4,從外觀上看,驅(qū)動程序的發(fā)布“早已被釋放”。該版本是正在進(jìn)行的工作的一部分,以支持MongoDB 4.0即將發(fā)布的版本中的較新功能并進(jìn)行其他一些API更改。


useNewUrlParser由于圍繞連接URI實(shí)際工作方式的一些更改,該選項(xiàng)之一就是觸發(fā)當(dāng)前警告。以后再說。


在問題“解決”之前,建議至少將其“固定”在次要版本上以進(jìn)行3.0.x發(fā)布:


  "dependencies": {

    "mongodb": "~3.0.8"

  }

這應(yīng)該停止3.1.x在“新”安裝中將分支安裝到節(jié)點(diǎn)模塊。如果您已經(jīng)安裝了“ beta”版本的“最新”版本,則應(yīng)清理軟件包(和package-lock.json),并確保將其降級為3.0.x系列版本。


至于實(shí)際使用“新”連接URI選項(xiàng),主要限制是實(shí)際port在連接字符串上包括:


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

const uri = 'mongodb://localhost:27017';  // mongodb://localhost - will fail


(async function() {

  try {


    const client = await MongoClient.connect(uri,{ useNewUrlParser: true });

    // ... anything


    client.close();

  } catch(e) {

    console.error(e)

  }


})()

在新代碼中,這是一個更“嚴(yán)格”的規(guī)則。要點(diǎn)在于,當(dāng)前代碼本質(zhì)上是“ node-native-driver”(npm mongodb)存儲庫代碼的一部分,而“ new code”實(shí)際上是從mongodb-core庫中導(dǎo)入的,從而“鞏固”了“ public”節(jié)點(diǎn)驅(qū)動程序。


添加“選項(xiàng)”的目的是通過將選項(xiàng)添加到新代碼中來“簡化”過渡,以便在添加選項(xiàng)的代碼中使用較新的解析器(實(shí)際上基于url),并清除棄用警告,從而驗(yàn)證您傳入的連接字符串實(shí)際上符合新解析器的預(yù)期。


在將來的版本中,將刪除“舊版”解析器,然后即使沒有該選項(xiàng),也將使用新的解析器。但是到那時,可以預(yù)期所有現(xiàn)有代碼都有足夠的機(jī)會根據(jù)新解析器的預(yù)期測試其現(xiàn)有連接字符串。


因此,如果您要在發(fā)布新的驅(qū)動程序功能時開始使用它們,請使用可用的beta版本和后續(xù)版本,并且最好通過啟用中的useNewUrlParser選項(xiàng)來確保您提供的連接字符串對于新的解析器有效MongoClient.connect()。


如果您實(shí)際上不需要訪問與MongoDB 4.0發(fā)行版預(yù)覽有關(guān)的功能,請將該版本固定到3.0.x前面提到的系列。這將按文檔所述進(jìn)行,并且“固定”這可確保3.1.x在您實(shí)際要安裝穩(wěn)定的版本之前,不會在預(yù)期的依賴項(xiàng)上“更新”發(fā)行版。


查看完整回答
反對 回復(fù) 2019-10-06
?
瀟瀟雨雨

TA貢獻(xiàn)1833條經(jīng)驗(yàn) 獲得超4個贊

沒什么改變,只通過連接功能{useNewUrlParser: true }就可以了


MongoClient.connect(url,{ useNewUrlParser: true },function(err,db){

  if(err){

      console.log(err);

  }

  else {

      console.log('connected to '+ url);

      db.close();

  }

})


查看完整回答
反對 回復(fù) 2019-10-06
  • 3 回答
  • 0 關(guān)注
  • 8592 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號