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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

檢查數(shù)組值,如果存在于 mongodb 集合中,則推送到新數(shù)組中

檢查數(shù)組值,如果存在于 mongodb 集合中,則推送到新數(shù)組中

胡說(shuō)叔叔 2023-12-14 16:41:48
我直接連接到 mongodb 并使用 mongoose 連接,mongoose db 文件通過(guò)調(diào)用dbConnect(),并且我的查詢(xún)工作正常。問(wèn)題在于我稍后添加的標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)連接 ( const { db } = await connectToDatabase();) 來(lái)查詢(xún)我無(wú)法將其轉(zhuǎn)換為可接受的貓鼬模式的集合。我的代碼在頂部:import { connectToDatabase } from "../../utils/mongodb"import dbConnect from '../../utils/dbConnect'dbConnect();export default async (req, res) => {  const { db } = await connectToDatabase();  try{ ...data我從 API 中獲取一些數(shù)據(jù),我需要迭代這個(gè)data.titles 并在 mongodb 集合“channels”(字段為“name”)中執(zhí)行 a 操作find(),以便僅保留那些與集合項(xiàng)的字段名稱(chēng)匹配的 data.title s我嘗試的是這樣的:        var token = `https://www.googleapis.com/youtube/v3/subscriptions?part=snippet%2CcontentDetails&mine=true&maxResults=50&key=${process.env.GOOGLE_API_KEY}&access_token=${token}`;        token = token.replace(/"/g, '');        var url = await fetch(token);        const subsData = await url.json();        //* Save all followed channels names, imgs and ids in arrays        var subsArray = [], idsArray = [], imgsArray = [];        for(let i=0; i < subsData.items.length; i++){          //* check the channel's name is in database          // if ( Chann.findOne({ "name" : subsData.items[i].snippet.title }) ) {          if ( db.channels.find({ name: subsData.items[i].snippet.title }) != null ) {            idsArray.push(subsData.items[i].snippet.resourceId.channelId);            subsArray.push(subsData.items[i].snippet.title);            imgsArray.push(subsData.items[i].snippet.thumbnails.default.url);          }        }但它拋出:TypeError: Cannot read property 'find' of undefined正如您從代碼中看到的,我也嘗試使用 mongoose 代替,兩者都在我的項(xiàng)目中配置,但使用 mongoose 模式它什么也沒(méi)做,就好像它findOne總是正確的一樣。所以它沒(méi)有拋出任何錯(cuò)誤,但基本上不起作用,數(shù)組中的所有通道都被接受。我想知道這是否是由于模式之間的不完美匹配而發(fā)生的,因?yàn)槲覐囊呀?jīng)存在的 mongodb 數(shù)據(jù)手動(dòng)重新創(chuàng)建了模式“Chann”,而且我不能 100% 確定我到處正確地編寫(xiě)了數(shù)組的對(duì)象。
查看完整描述

2 回答

?
瀟瀟雨雨

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

db.channels.find({ name: subsData.items[i].snippet.title }) != null

這不會(huì)按照您使用的方式工作。

db.channels.find({ name: subsData.items[i].snippet.title })

返回一個(gè)Promise永遠(yuǎn)不會(huì)是的null。

相反,你會(huì)想做類(lèi)似的事情

const result = await db.channels.find({ name: subsData.items[i].snippet.title })if(!result.length) {
   ...
}

您可以使用回調(diào)、Promises 或 async/await 來(lái)等待數(shù)據(jù)庫(kù)結(jié)果,我的示例正在使用,async/await但有一些選項(xiàng)。


查看完整回答
反對(duì) 回復(fù) 2023-12-14
?
搖曳的薔薇

TA貢獻(xiàn)1793條經(jīng)驗(yàn) 獲得超6個(gè)贊

首先檢查——


if(subsData.items[i].snippet.title!= undefined && subsData.items[i].snippet.title!= null){

    // ....

}else{

    console.log(...);

}


查看完整回答
反對(duì) 回復(fù) 2023-12-14
  • 2 回答
  • 0 關(guān)注
  • 238 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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