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

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

使用 golang 從 mongodb 集合中獲取特定的鍵值對(duì)

使用 golang 從 mongodb 集合中獲取特定的鍵值對(duì)

Go
一只甜甜圈 2023-04-17 16:05:58
我想使用 golang 動(dòng)態(tài)地從 mongodb 集合中獲取特定的鍵值對(duì)。err := collection.Find(operations).Limit(2).All(&products)我該怎么做,但它必須是動(dòng)態(tài)的,因?yàn)檫x擇鍵值對(duì)在我這邊發(fā)生了變化:收款文件:{    "_id" : 168,    "entity_id" : "168",    "type_id" : "simple",    "attribute_set_id" : "24",    "entity_type_id" : "4",    "created_at" : "2013-10-31 14:51:18",    "has_options" : "0",    "required_options" : "0",    "sku" : "AIC-19000-16",    "updated_at" : "2016-11-22 21:04:46",    "base_type" : 154,    "table_shape" : 164,    "manufacturer" : 15,    "delivery" : "Free Delivery & Setup",    "visibility" : 4,    "tax_class_id" : 2,    "status" : 1,    "enable_googlecheckout" : 1,    "discontinued" : 0,    "featured_fme" : 0,    "featured_product" : 0,    "amxnotif_hide_alert" : 1,    "is_recurring" : 0,    "condition" : 3043,    "ships" : null,    "ignore_wisepricer" : 0,    "fedexable" : null,    "dropshipped" : 0,    "verified_by" : 3301,    "reward_point_product" : null,    "mw_reward_point_sell_product" : null,    "ashley_sale" : 0,    "disable_amazonpayments" : 0,    "for_configurables" : null,    "rfm" : 0,    "mk_stockmessage" : false,    "mk_hideshipdate" : 0,    "reviews_counter" : 0,    "mpn" : "19000-16",    "name" : "After Eight Titanium Leg Rectangular Dining Table",    "style" : "73",    "furniture_type" : "76",    "meta_title" : "After Eight Titanium Leg Rectangular Dining Table,     19000-16, Aico Furniture",    "meta_description" : "After Eight Titanium Leg Rectangular Dining     Table from Aico Furniture, 19003-88",    "options_container" : "container2",    "url_key" : "after-eight-titanium-leg-rectangular-dining-table",    "url_path" : "after-eight-titanium-leg-rectangular-dining- }
查看完整描述

1 回答

?
Smart貓小萌

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

您所需的字段列在不符合預(yù)期規(guī)范的map[interface{}]interface{}Query.Select()。描述字段的最常見(jiàn)類型是bson.M,其中鍵應(yīng)該是要檢索的字段的名稱。

因此,您必須bson.M從您的鍵中構(gòu)造一個(gè)值,并將其與Query.Select().?為此,我們必須找到一種方法將值從interface{}type 轉(zhuǎn)換為string.?最簡(jiǎn)單和最方便的方法是使用fmt.Sprint()這個(gè)。

這是一個(gè)如何做到這一點(diǎn)的例子:

// Example input:

fields := map[interface{}]interface{}{

? ? 3: "name",

? ? 1: "manufacturer",

? ? 9: "sku",

}


fields2 := bson.M{}

for _, name := range fields {

? ? fields2[fmt.Sprint(name)] = 1

}


err := collection.Find(operations).Select(fields2).Limit(2).All(&products)


查看完整回答
反對(duì) 回復(fù) 2023-04-17
  • 1 回答
  • 0 關(guān)注
  • 120 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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