登录
首页 >  Golang >  Go问答

golang mongodb 中的过滤器

来源:stackoverflow

时间:2024-04-14 11:45:29 105浏览 收藏

偷偷努力,悄无声息地变强,然后惊艳所有人!哈哈,小伙伴们又来学习啦~今天我将给大家介绍《golang mongodb 中的过滤器》,这篇文章主要会讲到等等知识点,不知道大家对其都有多少了解,下面我们就一起来看一吧!当然,非常希望大家能多多评论,给出合理的建议,我们一起学习,一起进步!

问题内容

目前我学习使用 golang 和 mongodb 创建 Restful api。实际上我两者都是初学者。我使用 mongodb-go-driver 并且当我们想要使用 find() 函数时我学习使用过滤器。但我有一些不明白的地方。 filter := bson.M{"_id": "abcd"}filter := bson.M{{"_id": "abcd"}} 有什么不同?谢谢


解决方案


参考源码,https://github.com/mongodb/mongo-go-driver/blob/master/bson/primitive/primitive.go

bson.d,内部是primitive.d,即[]primitive.e,即structbson.m,内部是primitive.m,即map[string]interface{}。您将键/值放入 bson.m 中,但在 bson.d 中使用文档(结构)。

最好用 2 个参数来解释它,例如搜索 a = 1 和 b = 2。您的语法将是: bson.m{"a": 1, "b": 2}bson.d{{"a": 1}, {"b": 2}}

//Filter Part
if filter != nil {
    if len(filter.Status) > 0 {
        query = append(query, bson.M{"status": bson.M{"$in": filter.Status}})

    }
}
d.Shared.BsonToJSONPrint(query)
//Getting Total count
totalCount, err := col.Find(func() bson.M {
    if query != nil {
        if len(query) > 0 {
            return bson.M{"$and": query}
        }
    }
    return bson.M{}
}

本篇关于《golang mongodb 中的过滤器》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

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