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

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

如何使用golang根據(jù)用戶條件對mongodb集合應(yīng)用多個過濾器

如何使用golang根據(jù)用戶條件對mongodb集合應(yīng)用多個過濾器

Go
侃侃爾雅 2022-08-15 19:37:34
在我的前端,用戶可以根據(jù)日期范圍和/或目的應(yīng)用篩選器。我如何生成MongoDB過濾器,以便如果用戶在日期范圍內(nèi)傳遞,它只將其用作過濾器?如果它只是目的,它只使用目的,如果兩者兼而有之,則同時應(yīng)用兩個過濾器。我正在使用golang。這是我的代碼var filterData map[string]interface{}if purpose != "" {        filterData = bson.M{            "purpose": purpose,     }var filterDate map[string]interface{}if //condition for date range{filterDate = bson.M{        "paymentDate": bson.M{            "$gte": startdate,            "$lt":  enddate,        },}}//here i cant apply bothcursor, err = collection.Find(conn.DatabaseContext, findQuery)
查看完整描述

1 回答

?
慕姐8265434

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

為過濾器使用單個映射(例如),并且僅為用戶提供的篩選條件添加元素。bson.M


例如:


var purpose string

var startDate, endDate time.Time


filter := bson.M{}

if purpose != "" {

    filter["purpose"] = purpose

}

if !startDate.IsZero() && !endDate.IsZero() {

    filter["paymentDate"] = bson.M{

        "$gte": startDate,

        "$lt":  endDate,

    }

}


cursor, err = collection.Find(ctx, filter)


查看完整回答
反對 回復(fù) 2022-08-15
  • 1 回答
  • 0 關(guān)注
  • 187 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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