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

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

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

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

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

3 回答

?
當年話下

TA貢獻1890條經(jīng)驗 獲得超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及更高版本也支持它。 有關詳細信息,請查看MongoDB Github。


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

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

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


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


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


  "dependencies": {

    "mongodb": "~3.0.8"

  }

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


至于實際使用“新”連接URI選項,主要限制是實際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)

  }


})()

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


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


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


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


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


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

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

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


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

  if(err){

      console.log(err);

  }

  else {

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

      db.close();

  }

})


查看完整回答
反對 回復 2019-10-06
  • 3 回答
  • 0 關注
  • 8557 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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