如何使用Golang准备mongodb查询?

如何使用Golang准备mongodb查询?,mongodb,go,Mongodb,Go,我有一个具有不同属性值的对象数组。我无法处理Golang中对象数组中相同属性具有不同值的场景。在这种使用Golang的场景中,如何使用or运算符动态准备mongodb查询 [{attribute:A1,value:X},{attribute:A1,value:Y},{attribute:A2,value:Z},{attribute:A3,value:M}]首先请查看Mongo DB是否正确安装。MongoDB必须正确安装并在进行Golang API调用的服务器上运行。在终端窗口中键入mongod

我有一个具有不同属性值的对象数组。我无法处理Golang中对象数组中相同属性具有不同值的场景。在这种使用Golang的场景中,如何使用or运算符动态准备mongodb查询


[{attribute:A1,value:X},{attribute:A1,value:Y},{attribute:A2,value:Z},{attribute:A3,value:M}]

首先请查看Mongo DB是否正确安装。MongoDB必须正确安装并在进行Golang API调用的服务器上运行。在终端窗口中键入mongod以获取有关MongoDB守护进程的信息

首先获取以下包:

go get gopkg.in/oleiade/reflections.v1
必须安装Golang,并且MongoDB项目目录必须位于Golang的$GOPATH中。使用以下命令确认两者均已安装并正常工作:

go get go.mongodb.org/mongo-driver/mongo
执行以下命令以导入包,以允许MongoDB在main()函数中创建BSON筛选器、查询和取消编组字符串:

package main

import (
"context" // manage multiple requests
"encoding/json" // Use JSON encoding for bson. M string
"fmt" // Println() function
"log"
"reflect" // get an object type

// import 'mongo-go-driver' package libraries
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/bson/primitive" // for BSON ObjectID
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/mongo/options"
)
执行以下脚本以使用Golang的struct数据类型映射集合文档的MongoDB字段:

type MongoFields struct {
Key string `json:"key,omitempty"`
// ObjectId() or objectid. ObjectID is deprecated--use primitive instead
ID primitive. ObjectID `bson:"_id, omitempty"`

// Use these field tags so Golang knows how to map MongoDB fields
// `bson:"string field" json:"string field"`
StringField string `bson:"string field" json:"string field"`
IntField int `bson:"int field" json:"int field"`
BoolField bool `bson:"bool field" json:"bool field"`
}
如何在“Mongo Shell”中查看集合的文档字段 在Mongo Shell中输入以下脚本以确认字段的确切格式:

mongo shell
use SomeDatabase
db["Some Collection"]
db["Some Collection"].findOne()
我希望这会有所帮助