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

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

使用 MongoDB 檢查 Golang 中對(duì)象數(shù)組中的重復(fù)項(xiàng)

使用 MongoDB 檢查 Golang 中對(duì)象數(shù)組中的重復(fù)項(xiàng)

Go
元芳怎么了 2023-05-04 17:32:54
我需要在 Mongo 數(shù)據(jù)庫的對(duì)象數(shù)組中找到特定值的重復(fù)條目。我的結(jié)構(gòu)看起來像這樣:type gameTemplate struct {ID       bson.ObjectId `bson:"_id" json:"id"`GameCode string        `bson:"gamecode" json:"gamecode"`Players  []player      `bson:"players" json:"players"`}type player struct {PlayerID bson.ObjectId `bson:"playerid" json:"playerid"`Username string        `bson:"username" json:"username"`}如果有新玩家加入游戲,我想檢查以確保他們的用戶名沒有被占用。我用這種方法檢查重復(fù)的游戲代碼(如果count大于 1,我知道有一個(gè)游戲存在):count, err := collection.Find(bson.M{"gamecode": entry.GameCode}).Limit(1).Count()效果很好,但顯然無法檢查username玩家數(shù)組中對(duì)象的值。我在想我必須沿著檢查數(shù)組的大小和遍歷每個(gè)選項(xiàng)以找到重復(fù)的行做一些事情,但我沒有取得任何成功。編輯我正在運(yùn)行最新版本的 MongoDB 并使用 mgo.v2 驅(qū)動(dòng)程序。我想要實(shí)現(xiàn)的流程看起來像這樣:玩家 Y 想加入游戲 X。游戲 X 只能有一個(gè)“用戶名”實(shí)例,但相同的用戶名可以出現(xiàn)在其他游戲中。
查看完整描述

1 回答

?
ibeautiful

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

您可以使用$elemMatch

collection.Find(bson.M{"gamecode":?entry.GameCode},bson.M{"players":?bson.M{"$elemMatch":?bson.M{"playerid":?playerid}}}).Limit(1).Count()


查看完整回答
反對(duì) 回復(fù) 2023-05-04
  • 1 回答
  • 0 關(guān)注
  • 181 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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