update of price cards work
This commit is contained in:
parent
222d0d5a4d
commit
5f6f734029
@ -153,7 +153,7 @@ func fetch_card(path string) (*Card, error) {
|
||||
val.SerraCount = val.SerraCount + 1
|
||||
|
||||
// Set created Time
|
||||
card.SerraCreated = primitive.NewDateTimeFromTime(time.Now())
|
||||
val.SerraCreated = primitive.NewDateTimeFromTime(time.Now())
|
||||
|
||||
// Increase Price
|
||||
val.SerraPrices = append(val.SerraPrices, PriceEntry{primitive.NewDateTimeFromTime(time.Now()), val.Prices.Eur})
|
||||
|
||||
@ -2,8 +2,10 @@ package serra
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"go.mongodb.org/mongo-driver/bson"
|
||||
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||
)
|
||||
|
||||
const (
|
||||
@ -85,19 +87,34 @@ func Update() {
|
||||
coll := client.Database("serra").Collection("cards")
|
||||
|
||||
sort := bson.D{{"_id", 1}}
|
||||
filter := bson.D{{"_id", "0d4f3c1d-d25e-4263-ab2b-19534c852678"}}
|
||||
filter := bson.D{{}}
|
||||
cards, _ := storage_find(coll, filter, sort)
|
||||
|
||||
for _, card := range cards {
|
||||
fmt.Printf("%s (%s) %.2f\n", card.Name, card.Set, card.Prices.Eur)
|
||||
for i, card := range cards {
|
||||
fmt.Printf("Updating (%d/%d): %s (%s)...\n", i+1, len(cards), card.Name, card.SetName)
|
||||
|
||||
// db.cards.update({'_id':'8fa2ecf9-b53c-4f1d-9028-ca3820d043cb'},{$set:{'serra_updated':ISODate("2021-11-02T09:28:56.504Z")}, $push: {"serra_prices": { date: ISODate("2021-11-02T09:28:56.504Z"), value: 0.1 }}});
|
||||
/* db.cards.update(
|
||||
{'_id':'8fa2ecf9-b53c-4f1d-9028-ca3820d043cb'},
|
||||
{$set:{'serra_updated':ISODate("2021-11-02T09:28:56.504Z")},
|
||||
$push: {"serra_prices": { date: ISODate("2021-11-02T09:28:56.504Z"), value: 0.1 }}});
|
||||
*/
|
||||
|
||||
// TODO fetch new card
|
||||
|
||||
updated_card, err := fetch_card(fmt.Sprintf("%s/%s", card.Set, card.CollectorNumber))
|
||||
if err != nil {
|
||||
LogMessage(fmt.Sprintf("%v", err), "red")
|
||||
continue
|
||||
}
|
||||
|
||||
// Declare an _id filter to get a specific MongoDB document
|
||||
filter := bson.M{"_id": bson.M{"$eq": card.ID}}
|
||||
|
||||
// Declare a filter that will change a field's integer value to `42`
|
||||
update := bson.M{"$set": bson.M{"textless": true}}
|
||||
update := bson.M{
|
||||
"$set": bson.M{"serra_updated": primitive.NewDateTimeFromTime(time.Now())},
|
||||
"$push": bson.M{"serra_prices": bson.M{"date": primitive.NewDateTimeFromTime(time.Now()),
|
||||
"value": updated_card.Prices.Eur}}}
|
||||
|
||||
storage_update(coll, filter, update)
|
||||
}
|
||||
|
||||
storage_disconnect(client)
|
||||
|
||||
@ -2,7 +2,6 @@ package serra
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"time"
|
||||
@ -79,22 +78,20 @@ func storage_aggregate(coll *mongo.Collection, groupstage bson.D) ([]primitive.M
|
||||
|
||||
}
|
||||
|
||||
func storage_update(coll *mongo.Collection, filter, update bson.M) ([]primitive.M, error) {
|
||||
func storage_update(coll *mongo.Collection, filter, update bson.M) error {
|
||||
|
||||
// Call the driver's UpdateOne() method and pass filter and update to it
|
||||
result, err := col.UpdateOne(
|
||||
_, err := coll.UpdateOne(
|
||||
context.Background(),
|
||||
filter,
|
||||
update,
|
||||
)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
return err
|
||||
}
|
||||
fmt.Println(result)
|
||||
|
||||
// Get a list of all returned documents and print them out.
|
||||
// See the mongo.Cursor documentation for more examples of using cursors.
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func storage_disconnect(client *mongo.Client) error {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user