/
database.go
111 lines (91 loc) · 2.22 KB
/
database.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
package main
import (
"context"
"go.mongodb.org/mongo-driver/bson"
)
type keyvalue struct {
Name string `bson:"Name"`
Value string `bson:"Value"`
Counter int `bson:"Counter"`
}
type userbase struct {
Name string `bson:"Name"`
Coins int `bson:"Coins"`
}
type quebase struct {
Vid int `bson:"Vid"`
Uname string `bson:"Uname"`
Url string `bson:"Url"`
}
var currentsavevid int
//querry
//TODO UPDATE COUNTER
func dataq(name string) keyvalue {
var out keyvalue
i := name
filter := bson.M{"Name": i}
db := Client.Database("Nothing").Collection("databaseC")
db.FindOne(context.Background(), filter).Decode(&out)
if out.Name == "" || out.Name == " " {
return out
} else {
update := bson.D{{"$inc", bson.M{"Counter": 1}}}
db.UpdateOne(context.TODO(), filter, update)
db.FindOne(context.Background(), filter).Decode(&out)
return out
}
}
//save
func datas(name string, value string) {
kv := &keyvalue{name, value, 0}
db := Client.Database("Nothing").Collection("databaseC")
db.InsertOne(context.Background(), kv)
return
}
//Userbase
func Userq(name string) userbase {
var out userbase
filter := bson.M{"Name": name}
db := Client.Database("Nothing").Collection("dataUser")
db.FindOne(context.Background(), filter).Decode(&out)
return out
}
//save
func UserSave(name string) {
i := Userq(name)
if i.Name == "" || i.Name == " " {
ud := &userbase{name, 10}
db := Client.Database("Nothing").Collection("dataUser")
db.InsertOne(context.Background(), ud)
return
} else {
filter := bson.M{"Name": name}
update := bson.D{{"$inc", bson.M{"Coins": 1}}}
db := Client.Database("Nothing").Collection("dataUser")
db.UpdateOne(context.TODO(), filter, update)
return
}
}
//Que
func qhelp(id int) quebase {
var out quebase
filter := bson.M{"Vid": id}
db := Client.Database("Nothing").Collection("Video")
db.FindOne(context.Background(), filter).Decode(&out)
// log.Println(out)
return out
}
func quebasehelp() int {
if currentvideoid == 0 {
return 1
} else {
currentsavevid++
return currentsavevid
}
}
func quesave(Uname string, Url string) {
Vid := quebasehelp()
qb := &quebase{Vid, Uname, Url}
db := Client.Database("Nothing").Collection("Video")
db.InsertOne(context.Background(), qb)
}