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)
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值