如何在mongodb中检索整数ObjectID
如何获取整数id,因为我将id存储为1,2,3,4,… 是否有任何方法使用id作为int而不是十六进制来获取记录如何在mongodb中检索整数ObjectID,mongodb,go,Mongodb,Go,如何获取整数id,因为我将id存储为1,2,3,4,… 是否有任何方法使用id作为int而不是十六进制来获取记录 如果我理解正确,您希望通过存储的整数id而不是自动生成的ObjectID(\u id)进行查询 您是否已将其存储为id或_id?请从代码中提取a并提供?我们不知道您的数据库中存储了什么,也不知道如何检索。是的,但您已经导入了mongo驱动程序,但我导入了mgo.v2,并且使用了gin framework…我建议不要使用未维护的软件。特别是当它成为自2016年(mgo的最新版本)以来发
如果我理解正确,您希望通过存储的整数id而不是自动生成的ObjectID(\u id)进行查询
您是否已将其存储为id或_id?请从代码中提取a并提供?我们不知道您的数据库中存储了什么,也不知道如何检索。是的,但您已经导入了mongo驱动程序,但我导入了mgo.v2,并且使用了gin framework…我建议不要使用未维护的软件。特别是当它成为自2016年(mgo的最新版本)以来发生了很大变化的技术的驱动因素时。
// Grab id
id := c.Params.ByName("id")
//Verify id is ObjectId, otherwise fail
if !bson.IsObjectIdHex(id) {
checkErrTypeTwo("ID is not a bson.ObjectId", "404", c)
return
}
// Grab id
oid := bson.ObjectIdHex(id)
// Stub user
u := models.User{}
err := uc.session.DB(DB_NAME).C(DB_COLLECTION).FindId(oid).One(&u)
// Assumed imports
import (
"log"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/bson"
)
// some func scope
var id int64
// init for id
u := models.User{}
var db *mongo.Database = uc.session.Db(DB_NAME)
if err := db.Collection(DB_COLLECTION).FindOne(context.TODO(), bson.M{
"id": id,
}).Decode(&u); err != nil {
log.Fatal(err.Error())
}