go mogodb查詢_id和根據_id查詢記錄

package main

 
import (
	"context"
	"fmt"
	"log"
	"go.mongodb.org/mongo-driver/bson/primitive"
	"go.mongodb.org/mongo-driver/mongo"
	"go.mongodb.org/mongo-driver/mongo/options"
	"gopkg.in/mgo.v2"
	"gopkg.in/mgo.v2/bson"
)

 
type Person struct {
	Name   string
	Phone  string
	Idcard string
}

 
type Student struct {
	Id              string            `json:"id" bson:"_id"`
	Mobile          string            `json:"mobile"`         //手機號碼
}
func main() {
	url := "mongodb://??"
	var (
		client *mongo.Client
		err    error
	)

 
	// 建立mongodb連接
	clientOptions := options.Client().ApplyURI(url)
	if client, err = mongo.Connect(
		context.TODO(), clientOptions); err != nil {
		return
	}

 
	// 2, 選擇數據庫my_db
	database := client.Database("my_db")
	// 3, 選擇表my_collection
	collection := database.Collection("my_collection")
	// 檢查連接
	err = client.Ping(context.TODO(), nil)
	if err != nil {
		log.Fatal(err)
	}
	fmt.Println("Connected to MongoDB!")

 
	//objID := bson.ObjectIdHex("356535323637353662626665656330326239646661383261")
	//objID := bson.ObjectIdHex("5e526756bbfeec02b9dfa82a")
	objID, _ := primitive.ObjectIDFromHex("5e526756bbfeec02b9dfa82a")
	var result Student
	//err = collection.FindOne(context.TODO(), bson.M{"mobile": "1888888888"}).Decode(&result)
	err = collection.FindOne(context.TODO(), bson.M{"_id": objID}).Decode(&result)
	if err != nil {
		log.Fatal(err)
	}
	fmt.Printf("Found a single document: %+v\n", result)
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章