46 lines
860 B
Go
46 lines
860 B
Go
package db
|
|
|
|
import (
|
|
"context"
|
|
"encoding/json"
|
|
"os"
|
|
|
|
"pcgamedb/model"
|
|
)
|
|
|
|
func ImportGameInfo(filePath string) error {
|
|
var gameInfo []*model.GameInfo
|
|
data, err := os.ReadFile(filePath)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
err = json.Unmarshal(data, &gameInfo)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
docs := make([]interface{}, len(gameInfo))
|
|
for i, v := range gameInfo {
|
|
docs[i] = v
|
|
}
|
|
_, err = GameInfoCollection.InsertMany(context.Background(), docs)
|
|
return err
|
|
}
|
|
|
|
func ImportGameItem(filePath string) error {
|
|
var gameItem []*model.GameItem
|
|
data, err := os.ReadFile(filePath)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
err = json.Unmarshal(data, &gameItem)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
docs := make([]interface{}, len(gameItem))
|
|
for i, v := range gameItem {
|
|
docs[i] = v
|
|
}
|
|
_, err = GameItemCollection.InsertMany(context.Background(), docs)
|
|
return err
|
|
}
|