我正在使用https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo并且似乎無法弄清楚如何為鍵/值對之一的“值”插入運算式查找檔案時。我的代碼如下:
cursor, err := collection.Find(context.TODO(), bson.D{{"date", "$gte: new Date((new Date().getTime() - (1000*60*60*24*100)))"}, {"enabled", true}})
我想要實作的是檢索相對于當前日期只有一定天數的檔案。查詢不會失敗,但會回傳 0 個檔案。date 的值是一個運算式,但如果我沒有用雙引號括起來,Go 不會將其視為鍵/值對。
任何幫助將不勝感激。謝謝。
uj5u.com熱心網友回復:
您正在為date過濾器中的欄位提供字串值。如檔案中所述,語法為:
filter := bson.D{{"<field>", bson.D{{"<operator>", "<value>"}}}}
嘗試重構代碼,如下所示:
import (
"context"
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/mongo/options"
"time"
)
cursor, err := collection.Find(context.TODO(), bson.D{
{"date", bson.D{
{"$gte", time.Now().AddDate(0, 0, -100)},
}},
{ "enabled", true },
})
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/528259.html
上一篇:從嵌套陣列4中洗掉多個物件
