Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3bb47de45a | |||
| c71973850e | |||
| 65f062b860 | |||
| 7b502fed36 | |||
| fd6b15bdaf | |||
| f31bf24ec2 | |||
| 30edb4d9fa |
+6
-11
@@ -1016,7 +1016,7 @@ func (that *MakeCode) Search(table string, userData Map, req *http.Request, db *
|
||||
|
||||
if keywordTableStr != "" {
|
||||
if keywordTableStr == v.GetString("name") {
|
||||
keyword[table+"."+keywordTableStr+"[~]"] = keywordStr
|
||||
data[table+"."+keywordTableStr+"[~]"] = keywordStr
|
||||
}
|
||||
|
||||
if keywordTableStr == v.GetString("value") {
|
||||
@@ -1026,7 +1026,7 @@ func (that *MakeCode) Search(table string, userData Map, req *http.Request, db *
|
||||
childIds = append(childIds, cv.GetString("id"))
|
||||
}
|
||||
if len(childIds) != 0 {
|
||||
keyword[v.GetString("link")+".id"] = childIds
|
||||
data[v.GetString("link")+".id"] = childIds
|
||||
}
|
||||
}
|
||||
continue
|
||||
@@ -1143,17 +1143,12 @@ func (that *MakeCode) Search(table string, userData Map, req *http.Request, db *
|
||||
data[k] = v
|
||||
}
|
||||
}
|
||||
|
||||
if len(keyword) > 1 {
|
||||
|
||||
if data["AND"] != nil {
|
||||
and := data.GetMap("AND")
|
||||
for k, v := range keyword {
|
||||
and[k] = v
|
||||
}
|
||||
|
||||
//data = Map{"AND":Map{"OR": keyword} data, }
|
||||
if data["OR"] != nil {
|
||||
data = Map{"AND": data, "OR": keyword}
|
||||
} else {
|
||||
data["AND"] = keyword
|
||||
data["OR"] = keyword
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -18,13 +18,13 @@ func Down(url, path, name string, e ...*Error) bool {
|
||||
}
|
||||
out, err := os.Create(path + name)
|
||||
|
||||
if err != nil && e[0] != nil {
|
||||
if err != nil && len(e) != 0 {
|
||||
e[0].SetError(err)
|
||||
return false
|
||||
}
|
||||
defer out.Close()
|
||||
resp, err := http.Get(url)
|
||||
if err != nil && e[0] != nil {
|
||||
if err != nil && len(e) != 0 {
|
||||
e[0].SetError(err)
|
||||
return false
|
||||
}
|
||||
|
||||
+40
-10
@@ -8,7 +8,7 @@ import (
|
||||
"go.mongodb.org/mongo-driver/mongo/options"
|
||||
)
|
||||
|
||||
type mongoDb struct {
|
||||
type MongoDb struct {
|
||||
Client *mongo.Client
|
||||
Ctx context.Context
|
||||
DataBase *mongo.Database
|
||||
@@ -16,12 +16,12 @@ type mongoDb struct {
|
||||
LastErr error
|
||||
}
|
||||
|
||||
func Init(database, url string) (*mongoDb, error) {
|
||||
db := mongoDb{}
|
||||
func GetMongoDb(database, url string) (*MongoDb, error) {
|
||||
db := MongoDb{}
|
||||
clientOptions := options.Client().ApplyURI(url)
|
||||
|
||||
db.Ctx = context.TODO()
|
||||
// Connect to MongoDB
|
||||
// Connect to MongoDb
|
||||
var err error
|
||||
db.Client, err = mongo.Connect(db.Ctx, clientOptions)
|
||||
if err != nil {
|
||||
@@ -32,7 +32,7 @@ func Init(database, url string) (*mongoDb, error) {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
fmt.Println("Connected to MongoDB!")
|
||||
fmt.Println("Connected to MongoDb!")
|
||||
//databases, err := db.Client.ListDatabaseNames(db.Ctx, bson.M{})
|
||||
//if err != nil {
|
||||
// return nil, err
|
||||
@@ -43,7 +43,7 @@ func Init(database, url string) (*mongoDb, error) {
|
||||
|
||||
}
|
||||
|
||||
func (that *mongoDb) Insert(table string, data interface{}) string {
|
||||
func (that *MongoDb) Insert(table string, data interface{}) string {
|
||||
collection := that.DataBase.Collection(table)
|
||||
re, err := collection.InsertOne(that.Ctx, data)
|
||||
if err != nil {
|
||||
@@ -53,7 +53,7 @@ func (that *mongoDb) Insert(table string, data interface{}) string {
|
||||
return ObjToStr(re.InsertedID)
|
||||
}
|
||||
|
||||
func (that *mongoDb) InsertMany(table string, data ...interface{}) Slice {
|
||||
func (that *MongoDb) InsertMany(table string, data ...interface{}) Slice {
|
||||
collection := that.DataBase.Collection(table)
|
||||
re, err := collection.InsertMany(that.Ctx, data)
|
||||
if err != nil {
|
||||
@@ -65,7 +65,33 @@ func (that *mongoDb) InsertMany(table string, data ...interface{}) Slice {
|
||||
|
||||
}
|
||||
|
||||
func (that *mongoDb) Get(table string, where Map) Map {
|
||||
func (that *MongoDb) Update(table string, data Map, where Map) int64 {
|
||||
collection := that.DataBase.Collection(table)
|
||||
re, err := collection.UpdateMany(that.Ctx, where, data)
|
||||
|
||||
if err != nil {
|
||||
that.LastErr = err
|
||||
return 0
|
||||
}
|
||||
|
||||
return re.ModifiedCount
|
||||
|
||||
}
|
||||
|
||||
func (that *MongoDb) Delete(table string, where Map) int64 {
|
||||
collection := that.DataBase.Collection(table)
|
||||
re, err := collection.DeleteMany(that.Ctx, where)
|
||||
|
||||
if err != nil {
|
||||
that.LastErr = err
|
||||
return 0
|
||||
}
|
||||
|
||||
return re.DeletedCount
|
||||
|
||||
}
|
||||
|
||||
func (that *MongoDb) Get(table string, where Map) Map {
|
||||
results := []Map{}
|
||||
var cursor *mongo.Cursor
|
||||
var err error
|
||||
@@ -86,10 +112,14 @@ func (that *mongoDb) Get(table string, where Map) Map {
|
||||
that.LastErr = err
|
||||
return nil
|
||||
}
|
||||
return results[0]
|
||||
if len(results) > 0 {
|
||||
|
||||
return results[0]
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (that mongoDb) Select(table string, where Map, page, pageRow int64) []Map {
|
||||
func (that MongoDb) Select(table string, where Map, page, pageRow int64) []Map {
|
||||
page = (page - 1) * pageRow
|
||||
if page < 0 {
|
||||
page = 0
|
||||
|
||||
Reference in New Issue
Block a user