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

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

在 mongo-go-driver 中為 .FindOne 創建過濾器

在 mongo-go-driver 中為 .FindOne 創建過濾器

Go
溫溫醬 2023-06-26 18:03:24
我正在嘗試檢查集合以查看是否至少有一個文檔與一組特定值匹配。我對 MongoDB 和 Go 還很陌生,我相信這更多是我缺乏經驗的問題。以下是來自 Studio 3T 的示例查詢,我嘗試使用 mongo-go-driver 運行它:db.getCollection("events").find(? ? {?? ? ? ? "event.eventType" : "OSR",?? ? ? ? "context.vehicleId" : NumberInt(919514),?? ? ? ? "ts" : {? ? ? ? ? ? "$gte" : ISODate("2019-06-21T21:38:43.022+0000")? ? ? ? }? ? }).limit(1);看來該context.FindOne方法會做我想要的事情(并且消除了對 的需要.limit(1))。我認為可以直接將其“移植”到 Go 和 mongo-go-driver。我可以讓這項工作正常進行,例如我有以下內容可以找到所有 OSR:var query = &bson.D{? ? ? ? {"event.eventType", "OSR"},? ? }result := bson.D{}e := collection.FindOne(context.TODO(), query).Decode(&result)這將返回給我一份文件?,F在,如果我想包含該vehicleId值,我會將其更新query為:var query = &bson.D{? ? ? ? {"event.eventType", "OSR"},? ? ? ? {"context.vehicleId", 919514},?? ? }沒有文件被退回。我還沒有費心去擴展query該ts領域。我預計至少仍會返回一份文檔,但什么也沒有顯示。有人對我做錯的事情有一些提示、建議或指導嗎(或者我怎樣才能做得更好)?
查看完整描述

1 回答

?
開滿天機

TA貢獻1786條經驗 獲得超13個贊

不太確定,但是你嘗試過bson.M用 代替 嗎bson.D?


看來它至少對我有用。


query := &bson.M{

? "event.eventType": "OSR",

? "context.vehicleId": 919514,?

}

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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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