亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

如何使用 mongo-go-driver 運行 mongo 命令?

如何使用 mongo-go-driver 運行 mongo 命令?

Go
慕妹3242003 2023-05-22 15:59:15
你好 :) 我正在開發一個鏈接到 mongo DB 的 golang 應用程序(我使用官方驅動程序:)mongo-go這是我的問題,我想執行這個功能db.rmTickets.find().forEach(function(doc) {    doc.created=new Date(doc.created)    doc.updated=new Date(doc.updated)    doc.deadline=new Date(doc.deadline)    doc.dateEstimationDelivery=new Date(doc.dateEstimationDelivery)    doc.dateTransmitDemand=new Date(doc.dateTransmitDemand)    doc.dateTransmitQuotation=new Date(doc.dateTransmitQuotation)    doc.dateValidationQuotation=new Date(doc.dateValidationQuotation)    doc.dateDeliveryCS=new Date(doc.dateDeliveryCS)    db.rmTickets.save(doc)})我在 godoc 上看到 aDatabase.RunCommand()存在,但我不確定如何使用它。如果有人可以提供幫助:) 謝謝
查看完整描述

1 回答

?
倚天杖

TA貢獻1828條經驗 獲得超3個贊

RunCommand是執行一個mongo命令。您打算做的是查找集合中的所有文檔,進行更改,然后替換它們。您需要Find()、光標和ReplaceOne()。這是一個類似的代碼片段。


if cur, err = collection.Find(ctx, bson.M{"hometown": bson.M{"$exists": 1}}); err != nil {

    t.Fatal(err)

}

var doc bson.M

for cur.Next(ctx) {

    cur.Decode(&doc)

    doc["updated"] = time.Now()

    if result, err = collection.ReplaceOne(ctx, bson.M{"_id": doc["_id"]}, doc); err != nil {

        t.Fatal(err)

    }

    if result.MatchedCount != 1 || result.ModifiedCount != 1 {

        t.Fatal("replace failed, expected 1 but got", result.MatchedCount)

    }

}

我有一個完整的例子TestReplaceLoop()


查看完整回答
反對 回復 2023-05-22
  • 1 回答
  • 0 關注
  • 164 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號