当前位置: 首页 > news >正文

网页设计排版布局图片站长工具seo综合查询问题

网页设计排版布局图片,站长工具seo综合查询问题,网站上做商城可用同一域名,wordpress付费主题文章目录 连接数据库插入数据库插入一条数据批量插入数据 查询数据用 BSON 进行复合查询聚合查询 更新数据删除数据 连接数据库 package mainimport ("context""go.mongodb.org/mongo-driver/mongo""go.mongodb.org/mongo-driver/mongo/options"…

文章目录

  • 连接数据库
  • 插入数据库
    • 插入一条数据
    • 批量插入数据
  • 查询数据
  • 用 BSON 进行复合查询
    • 聚合查询
  • 更新数据
  • 删除数据

连接数据库

package mainimport ("context""go.mongodb.org/mongo-driver/mongo""go.mongodb.org/mongo-driver/mongo/options""log"
)var mgoCli *mongo.Clientfunc initDb() {var err errorclientOptions := options.Client().ApplyURI("mongodb://localhost:27017")mgoCli, err = mongo.Connect(context.TODO(), clientOptions)if err != nil {log.Fatal(err)}err = mgoCli.Ping(context.TODO(), nil)if err != nil {log.Fatal(err)}
}
func MgoCli() *mongo.Client {if mgoCli == nil {initDb()}return mgoCli
}func main() {//连接数据库var (client     = MgoCli()db         *mongo.Databasecollection *mongo.Collection)db = client.Database("my_db")collection = db.Collection("my_collection")collection = collection
}

插入数据库

插入一条数据

package mainimport ("context""fmt""go.mongodb.org/mongo-driver/bson/primitive""go.mongodb.org/mongo-driver/mongo""go.mongodb.org/mongo-driver/mongo/options""log""time"
)var mgoCli *mongo.Clientfunc initDb() {var err errorclientOptions := options.Client().ApplyURI("mongodb://localhost:27017")mgoCli, err = mongo.Connect(context.TODO(), clientOptions)if err != nil {log.Fatal(err)}err = mgoCli.Ping(context.TODO(), nil)if err != nil {log.Fatal(err)}
}func MgoCli() *mongo.Client {if mgoCli == nil {initDb()}return mgoCli
}// 插入一条数据
type ExecTime struct {StartTime int64 `bson:"startTime"`EndTime   int64 `bson:"endTime"`
}type LogRecord struct {JobName string `bson:"jobName"`Command string `bson:"command"`Err     string `bson:"err"`Content string `bson:"content"`Tp      ExecTime
}func main() {var (client     = MgoCli()err        errorcollection *mongo.CollectioniResult    *mongo.InsertOneResultid         primitive.ObjectID)collection = client.Database("my_db").Collection("my_collection")logRecord := LogRecord{JobName: "job1",Command: "echo 1",Err:     "",Content: "1",Tp: ExecTime{StartTime: time.Now().Unix(),EndTime:   time.Now().Unix() + 10,},}if iResult, err = collection.InsertOne(context.TODO(), logRecord); err != nil {fmt.Println(err)return}id = iResult.InsertedID.(primitive.ObjectID)fmt.Println("自增 ID", id.Hex())
}

批量插入数据

package mainimport ("context""fmt""go.mongodb.org/mongo-driver/bson/primitive""go.mongodb.org/mongo-driver/mongo""go.mongodb.org/mongo-driver/mongo/options""log""time"
)var mgoCli *mongo.Clientfunc initDb() {var err errorclientOptions := options.Client().ApplyURI("mongodb://localhost:27017")mgoCli, err = mongo.Connect(context.TODO(), clientOptions)if err != nil {log.Fatal(err)}err = mgoCli.Ping(context.TODO(), nil)if err != nil {log.Fatal(err)}
}func MgoCli() *mongo.Client {if mgoCli == nil {initDb()}return mgoCli
}// 插入一条数据
type ExecTime struct {StartTime int64 `bson:"startTime"`EndTime   int64 `bson:"endTime"`
}type LogRecord struct {JobName string `bson:"jobName"`Command string `bson:"command"`Err     string `bson:"err"`Content string `bson:"content"`Tp      ExecTime
}func main() {var (client     = MgoCli()err        errorcollection *mongo.Collectionresult     *mongo.InsertManyResultid         primitive.ObjectID)collection = client.Database("my_db").Collection("test")result, err = collection.InsertMany(context.TODO(), []interface{}{LogRecord{JobName: "job1",Command: "echo 1",Err:     "",Content: "1",Tp: ExecTime{StartTime: time.Now().Unix(),EndTime:   time.Now().Unix() + 10,},},LogRecord{JobName: "job1",Command: "echo 1",Err:     "",Content: "1",Tp: ExecTime{StartTime: time.Now().Unix(),EndTime:   time.Now().Unix() + 10,},},})if err != nil {log.Fatal(err)}if result == nil {log.Fatal("result nil")}for _, v := range result.InsertedIDs {id = v.(primitive.ObjectID)fmt.Println("自增 ID", id.Hex())}
}

查询数据

package mainimport ("context""fmt""go.mongodb.org/mongo-driver/mongo""go.mongodb.org/mongo-driver/mongo/options""log"
)var mgoCli *mongo.Clientfunc initDb() {var err errorclientOptions := options.Client().ApplyURI("mongodb://localhost:27017")mgoCli, err = mongo.Connect(context.TODO(), clientOptions)if err != nil {log.Fatal(err)}err = mgoCli.Ping(context.TODO(), nil)if err != nil {log.Fatal(err)}
}func MgoCli() *mongo.Client {if mgoCli == nil {initDb()}return mgoCli
}// 插入一条数据
type ExecTime struct {StartTime int64 `bson:"startTime"`EndTime   int64 `bson:"endTime"`
}type LogRecord struct {JobName string `bson:"jobName"`Command string `bson:"command"`Err     string `bson:"err"`Content string `bson:"content"`Tp      ExecTime
}type FindByJobName struct {JobName string `bson:"jobName"`
}func main() {var (client     = MgoCli()err        errorcollection *mongo.Collectioncursor     *mongo.Cursor)collection = client.Database("my_db").Collection("table1")cond := FindByJobName{JobName: "job multil"}findOptions := options.Find().SetSkip(0).SetLimit(2)if cursor, err = collection.Find(context.TODO(), cond, findOptions); err != nil {fmt.Println(err)return}defer func() {if err = cursor.Close(context.TODO()); err != nil {log.Fatal(err)}}()for cursor.Next(context.TODO()) {var lr LogRecordif cursor.Decode(&lr) != nil {fmt.Println(err)return}fmt.Println(lr)}var results []LogRecordif err = cursor.All(context.TODO(), &results); err != nil {log.Fatal(err)}for _, result := range results {fmt.Println(result)}
}

用 BSON 进行复合查询

聚合查询

package mainimport ("context""fmt""go.mongodb.org/mongo-driver/bson""go.mongodb.org/mongo-driver/mongo""go.mongodb.org/mongo-driver/mongo/options""log"
)var mgoCli *mongo.Clientfunc initDb() {var err errorclientOptions := options.Client().ApplyURI("mongodb://localhost:27017")mgoCli, err = mongo.Connect(context.TODO(), clientOptions)if err != nil {log.Fatal(err)}err = mgoCli.Ping(context.TODO(), nil)if err != nil {log.Fatal(err)}
}func MgoCli() *mongo.Client {if mgoCli == nil {initDb()}return mgoCli
}func main() {client := MgoCli()collection := client.Database("my_db").Collection("table1")groupStage := mongo.Pipeline{bson.D{{"$group", bson.D{{"_id", "$jobName"},{"countJob", bson.D{{"$sum", 1},}},}},},}cursor, err := collection.Aggregate(context.TODO(), groupStage)if err != nil {log.Fatal(err)}defer func() {err = cursor.Close(context.TODO()) // 修正关闭游标的错误处理if err != nil {log.Fatal(err)}}()var results []bson.Merr = cursor.All(context.TODO(), &results)if err != nil {log.Fatal(err)}for _, result := range results {fmt.Println(result)}
}

更新数据

package mainimport ("context""go.mongodb.org/mongo-driver/bson""go.mongodb.org/mongo-driver/mongo""go.mongodb.org/mongo-driver/mongo/options""log"
)var mgoCli *mongo.Clientfunc initDb() {var err errorclientOptions := options.Client().ApplyURI("mongodb://localhost:27017")mgoCli, err = mongo.Connect(context.TODO(), clientOptions)if err != nil {log.Fatal(err)}err = mgoCli.Ping(context.TODO(), nil)if err != nil {log.Fatal(err)}
}func MgoCli() *mongo.Client {if mgoCli == nil {initDb()}return mgoCli
}type UpdateByJobName struct {Command string `bson:"command"`Content string `bson:"content"`
}func main() {var (client     = MgoCli()collection *mongo.Collectionerr        erroruResult    *mongo.UpdateResult)collection = client.Database("my_db").Collection("table1")filter := bson.M{"jobName": "job multil"}// bson.M{"$inc",bson.M{"age",-1,}}//bson.M{"$push",bson.M{"interests","Golang",}}//bson.M{"$pull",bson.M{"interests","Golang",}}update := bson.M{"$set": UpdateByJobName{Command: "byModel",Content: "model",}}if uResult, err = collection.UpdateMany(context.TODO(), filter, update); err != nil {log.Fatal(err)}log.Println(uResult.MatchedCount)
}

删除数据


package mainimport ("context""go.mongodb.org/mongo-driver/mongo""go.mongodb.org/mongo-driver/mongo/options""log""time"
)var mgoCli *mongo.Clientfunc initDb() {var err errorclientOptions := options.Client().ApplyURI("mongodb://localhost:27017")mgoCli, err = mongo.Connect(context.TODO(), clientOptions)if err != nil {log.Fatal(err)}err = mgoCli.Ping(context.TODO(), nil)if err != nil {log.Fatal(err)}
}func MgoCli() *mongo.Client {if mgoCli == nil {initDb()}return mgoCli
}type DeleteCond struct {BeforeCond TimeBeforeCond `bson:"tp.startTime"`
}// startTime小于某时间,使用这种方式可以对想要进行的操作($set、$group等)提前定义
type TimeBeforeCond struct {BeforeTime int64 `bson:"$lt"`
}func main() {var (client     = MgoCli()collection *mongo.Collectionerr        erroruResult    *mongo.DeleteResultdelCond    *DeleteCond)collection = client.Database("my_db").Collection("table1")//删除jobName为job0的数据delCond = &DeleteCond{BeforeCond: TimeBeforeCond{BeforeTime: time.Now().Unix()}}if uResult, err = collection.DeleteMany(context.TODO(),delCond); err != nil {log.Fatal(err)}log.Println(uResult.DeletedCount)
}
package mainimport ("context""fmt""go.mongodb.org/mongo-driver/bson""go.mongodb.org/mongo-driver/mongo""go.mongodb.org/mongo-driver/mongo/options""log"
)var mgoCli *mongo.Clientfunc initDb() {var err errorclientOptions := options.Client().ApplyURI("mongodb://localhost:27017")mgoCli, err = mongo.Connect(context.TODO(), clientOptions)if err != nil {log.Fatal(err)}err = mgoCli.Ping(context.TODO(), nil)if err != nil {log.Fatal(err)}
}func MgoCli() *mongo.Client {if mgoCli == nil {initDb()}return mgoCli
}// 分组
type Group struct {Group interface{} `bson:"$group"`
}// 求和
type Sum struct {Sum interface{} `bson:"$sum"`
}func main() {var (client     = MgoCli()collection *mongo.Collectionerr        errorcursor     *mongo.Cursor)collection = client.Database("my_db").Collection("table1")groupStage := []Group{}groupStage = append(groupStage, Group{Group: bson.D{{"_id", "$jobName"},{"countJob", Sum{Sum: 1}},},})if cursor, err = collection.Aggregate(context.TODO(),groupStage); err != nil {log.Fatal(err)}defer func() {if err = cursor.Close(context.TODO()); err != nil {log.Fatal(err)}}()var results []bson.Mif err = cursor.All(context.TODO(), &results); err != nil {log.Fatal(err)}for _, result := range results {fmt.Println(result)}
}
http://www.wangmingla.cn/news/15513.html

相关文章:

  • 个人做网站怎么赚钱流量主广告点击自助平台
  • 网站流量劫持怎么做长沙网站公司品牌
  • 北京工商网站seo优化网
  • 男直接做的视频网站营销网站制作公司
  • 网站空间的选择搜索引擎优化指的是
  • 如何判断网站程序使用asp还是php广告推广赚钱在哪接
  • phpcms v9怎么做网站免费网站alexa排名查询
  • 白色简洁的it软件公司模板bootstrap响应式网站模板下载网络舆情分析报告模板
  • 怎么做二级网站宁波seo关键词优化
  • 爱站网在线全集私人影视网络销售工作靠谱吗
  • 网站建设需要注册什么类型的公司今天的重要新闻
  • 怎么开通个人网站友情链接可以帮助店铺提高浏览量
  • 西双版纳州住房和城乡建设局网站三叶草gw9356
  • 做网站是需要多少钱沧州网站seo
  • 阿里云个人网站备案做淘客平台运营推广
  • 广州开发网站报价外链生成工具
  • 做视频网站服务器怎么选择电商营销策划方案范文
  • 网络营销媒体有哪些seo外链是什么意思
  • 做网站好几个css网络营销七个步骤
  • 软件或网站是怎么做的投广告哪个平台好
  • 114做网站诈骗怎么优化
  • 合肥网络科技有限公司做网站关键词指数批量查询
  • 沈阳网站建站推广市场推广方案范文
  • 果壳 wordpressseo概念的理解
  • 福州视频网站优化推广seo
  • 手机网站html5谷歌ads广告投放
  • 做推广的网站微信号推广关键词排名方法
  • 网站开发工资高嘛上海优化网站seo公司
  • 网站上写个招贤纳士怎么做百度app免费下载安装
  • 荷塘网站建设推广标题怎么写