Rumah > Artikel > pembangunan bahagian belakang > Siri masa Mongodb / Golang -
PHP editor Zimo membawakan anda pengenalan kepada "Siri Masa Mongodb / Golang -". Mongodb ialah pangkalan data bukan perhubungan, manakala Golang ialah bahasa pengaturcaraan yang cekap. Dari segi pemprosesan data siri masa, gabungan Mongodb dan Golang boleh memberikan fungsi dan prestasi yang berkuasa. Artikel ini akan memperkenalkan secara terperinci cara menggunakan Mongodb dan Golang untuk memproses data siri masa, termasuk penyimpanan data, pertanyaan dan analisis. Sama ada anda seorang pemula atau pembangun berpengalaman, artikel ini akan membantu anda lebih memahami dan menggunakan kelebihan dan teknik Mongodb dan Golang dalam pemprosesan data siri masa.
Saya mempunyai contoh kod go berikut yang memasukkan data daripada permintaan rehat (gin) ke dalam mongodb tetapi ia gagal:
['timestamp' must be present and contain a valid bson utc datetime value]
Kod:
func CreateDevicesReadings(c *gin.Context) { var devicesReadings DevicesReadings c.BindJSON(&devicesReadings) // Connect to MongoDB client, err := mongo.Connect(context.Background(), clientOptions) if err != nil { c.JSON(500, gin.H{ "message": "Internal Server Error. Could not connect to the database.", }) log.Default().Println(err) } collection := client.Database("florly").Collection("devicesReadings") ctx, _ := context.WithTimeout(context.Background(), 5*time.Second) // Set timestamp to the current time at the moment of the request for i := 0; i < len(devicesReadings.DevicesReadings); i++ { devicesReadings.DevicesReadings[i].Timestamp = time.Now().UTC() } _, err = collection.InsertOne(ctx, devicesReadings) if err != nil { c.JSON(500, gin.H{ "message": "Internal Server Error. Could not insert the data into the database.", }) log.Default().Println(err) } else { log.Default().Println("Data inserted successfully.") } client.Disconnect(context.Background()) } type DeviceReadings struct { ID primitive.ObjectID `json:"_id,omitempty" bson:"_id,omitempty"` Alias string `json:"alias" bson:"alias"` Timestamp time.Time `json:"timestamp,omitempty" bson:"timestamp"` SystemReadings SystemReadings `json:"systemReadings" bson:"systemReadings"` SensorReadings SensorReadings `json:"sensorsReadings" bson:"sensorsReadings"` }
Apa salah saya? Saya rasa mongodb melakukan keseluruhan proses menukar jenis time.time
kepada jenis yang dicari oleh mongodb. time.time
类型转换为 mongodb 查找的类型的整个过程。
您调用 Collection.InsertOne()
,可用于插入单个文档。然而,devicesReadings
Collection.InsertOne()
,要么使用 Collection.InsertMany()
Anda menghubungi Collection.InsertOne()
, boleh digunakan untuk memasukkan satu dokumen. Walau bagaimanapun, devicesReadings
ialah sebahagian daripada berbilang dokumen.
Atas ialah kandungan terperinci Siri masa Mongodb / Golang -. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!