登录
首页 >  Golang >  Go问答

Golang mongo-go-driver Beta 1 ,使用大于运算符

来源:stackoverflow

时间:2024-03-17 16:09:21 475浏览 收藏

mongo-go-driver Beta 1 中使用大于运算符时,需要将比较值转换为 ObjectID 类型。如果您尝试将 ObjectID 与字符串比较,将导致空结果。可以通过使用 `primitive.ObjectIDFromHex()` 函数从十六进制字符串中生成 ObjectID 来解决此问题。

问题内容

我一直在尝试获取大于所提供的 _id 的记录 代码如下

filter = bson.M{"_id": bson.M{"$gt": "5c1760b4bd421c09e0f3140c"}}
cur, err := collection.Find(ctx, filter, &options)

但我总是得到空值。 我想我需要将该 id 转换为对象 id 但我不知道如何在最新版本中做到这一点 预测中显示了 bson.typeobjectid 。有人可以提供一些详细信息来执行此操作吗?谢谢


解决方案


您需要将 objectidobjectid 进行比较。您正在做的是将 objectidstring 进行比较。

objectID, _ := primitive.ObjectIDFromHex("5c1760b4bd421c09e0f3140c")
filter = bson.M{"_id": bson.M{"$gt": objectID}}
cur, err := collection.Find(ctx, filter, &options)

理论要掌握,实操不能落!以上关于《Golang mongo-go-driver Beta 1 ,使用大于运算符》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>