首页 文章
  • 1 votes
     answers
     views

    使用mgo上传到分片的MongoDB错误“完整的分片键必须在更新对象中进行收集:...”

    使用MongoDB的Labix mgo API,我试图对分片集合执行增量操作 . 我可以使用通常的mgo.Change结构在非整数集合上做到这一点,但是当我尝试在分片集合上执行此操作时,我收到错误: full shard key must be in update object for collection: db_name.collection_name 适用于非分片集合的原始代码如下所示: c...
  • 4 votes
     answers
     views

    在mongodb db中解析错误,插入具有唯一索引的集合

    我在mongodb中有一个集合,其中包含以下形式的文档: { "user": "user1", "email: "user1@example.com", } 字段“user”和“email”是唯一的 . 我想在集合中插入新用户,同时检查两个值的唯一性 . 我可以在gogo中使用mgo进行插入,如下所示: ses...
  • 5 votes
     answers
     views

    Golang mongodb mgo driver Upsert / UpsertId文档

    mongodb documentation说: 如果参数仅包含更新运算符表达式,则参数和参数的字段和值 . 此更新根据参数中的等于子句创建基本文档,然后应用参数中的更新表达式 . 并且mgo documentation说: Upsert查找与提供的选择器文档匹配的单个文档,并根据更新文档对其进行修改 . 如果找不到与选择器匹配的文档,则将更新文档应用于选择器文档,并将结果插入到集合中 . 但如果我...
  • 5 votes
     answers
     views

    如何在mgo(Go)中使用接口类型作为模型?

    假设您的工作流由多个不同类型的嵌入式节点组成 . 由于节点的类型不同,我想在这里使用Golang接口并提出以下内容: type Workflow struct { CreatedAt time.Time StartedAt time.Time CreatedBy string Nodes []Node } type Node interface { Exec() (i...
  • 1 votes
     answers
     views

    使用mgo错误插入ISODate字段

    我真的很喜欢使用go,mgo和gin gonic ...我一直在创建一个迷你应用程序,我在使用mgo将新注册表插入mongoDB时遇到问题 . 我的错误说: “PANIC:错误解析字段文档的元素0 ::由错误类型导致'0'字段,预期对象,找到0:[{date:new Date(1441051152939),from:”11“,to:” 12“,办公室:”2“,client_id:”1368465...
  • 0 votes
     answers
     views

    Mgo错误类型为字段

    我正在尝试使用mgo库进行批量upsert . 我正在阅读关于批量upserts的documentation,因为这是我第一次使用MongoDB,看起来我必须提供要更新的文档对 . 在我的函数中,我正在执行查找所有查询,然后使用查询中的结果作为 bulk.Upsert() 操作的对的现有部分 . 我不确定这是否是正确的方法,但我必须一次在〜65k文件上进行upsert . 下面是类型结构,以及从通...
  • 2 votes
     answers
     views

    如何将带有nil字段的结构插入mongo?

    我试图向mongo插入一个结构 . 首先,我从API获取数据作为JSON并将数据分配给结构 . 有些字段可能是零 . 之后,我将结构插入mongoDB . 所以我得到的问题是插入时,所有字段都被初始化 . 例如,我有一个像这样的结构: type VirtualMachine struct { VirtualMachineID utils.SUUID `...
  • 2 votes
     answers
     views

    如何防止mgo unmarshal int到float64

    我有未知的json结构数据存储在mongodb中 . 他们有字段来显示unix时间,如下所示: "date": 1424803567, 我正在使用mgo将它们加载到bson.M. var result bson.M iter := c.Find(q).Iter() for iter.Next(&result) { 那些unix时间字段已转向fload64而不是int...
  • 1 votes
     answers
     views

    各个元素的GetBSON方法[Go mgo]

    在Go中,我得到了json编组/解组 . 如果结构或类型具有MarshalJSON方法,则在另一个具有前者作为字段的结构上调用json.Marshal时,将调用结构的MarshalJSON方法 . 从我收集到的并在实践中看到的...... type MyType struct 有一个MarshalJSON方法来编组自己的字符串 . type MyDocument struct 已将 MyT...
  • 3 votes
     answers
     views

    Go中的MongoDB聚合查找(mgo.v2)

    我正在尝试使用mgo包在go(golang)中的一个mongoDB查询中实现 $lookup 功能 . 以下是我的收藏: folders: "_id" : ObjectId("22222222222222"), "name" : "Media", "level" : 1, "u...
  • 1 votes
     answers
     views

    自定义编组到bson和JSON(Golang&mgo)

    我在Golang中有以下类型: type Base64Data []byte 为了支持将base64编码的字符串解组为此类型,我执行了以下操作: func (b *Base64Data) UnmarshalJSON(data []byte) error { if len(data) == 0 { return nil } content, err := b...
  • 1 votes
     answers
     views

    基于mgo中的正则表达式搜索不会给出所需的结果

    您好我在golang中有以下代码: 请看一下: type User struct { Id int `json:"id" bson:"_id"` FirstName string `json:"first_name" bson:"first_name"...
  • 0 votes
     answers
     views

    如何从mgo的嵌套接口的mongo解组bson?

    我有一个文档集合,其中包含我拥有的自定义接口类型的数组 . 以下示例 . 从mongo解组bson需要做什么才能最终返回JSON响应? type Document struct { Props here.... NestedDocuments customInterface } 要将嵌套接口映射到正确的结构,我需要做什么?
  • 2 votes
     answers
     views

    使用mgo或bson在Go中重命名mongo集合?

    我'd like to rename a mongo collection in my Go app. I'm使用mgo驱动程序并且它不想在Go中实现:http://docs.mongodb.org/manual/reference/command/renameCollection/
  • 2 votes
     answers
     views

    无法理解接口/结构关系

    我很难理解go中的接口和结构之间的关系 . 我已经声明了一个名为 Datatype 的接口,如下所示: package main type Datatype interface { Unmarshal(record []string) error String() string } 我还创建了几个实现此接口的结构 . 这是一个简单的例子: package main impor...
  • 11 votes
     answers
     views

    处理自定义BSON Marshaling(Golang&mgo)

    我有许多需要自定义编组的结构 . 当我测试时,我使用的是JSON和标准的JSON marshaller . 因为它没有编组未导出的字段,所以我需要编写一个自定义的MarshalJSON函数,它完美地工作 . 当我在包含需要自定义编组作为字段的父结构上调用json.Marshal时,它工作正常 . 现在我需要为BSO的一些MongoDB工作整理所有内容,而且我找不到任何关于如何编写自定义BSON编组...
  • 0 votes
     answers
     views

    unmarshal map [string] interface {}时出现mgo错误

    我想在结构中存储一个任意的json对象: type C struct { Name string `json:"name" bson:"name"` Config map[string]interface{} `json:"config" bson:"config"` } 这在我存储任何深度嵌套的json对象...
  • 1 votes
     answers
     views

    golang mgo marshalling bson

    我有这样的结构: type data_to_store struct { Data some_custom_structure `json:"Data" bson:"Data"` MoreData another_custom_structure `json:"more_data" bson:&...
  • 1 votes
     answers
     views

    将Blob转换为Go中的图像

    我正在尝试在Go中创建一个mbtiles服务器 . 该文件遵循mbtiles spec . tile_data 字段是 BLOB ,我正在尝试查询数据库并获取相应的图像(存储为blob类型) . 到目前为止,查询还可以,但我的结果已经损坏 tile_data . 我不确定如何将SQLite BLOB映射到正确的Go数据结构 . 到目前为止,我尝试在github gombtiles sampl...
  • 3 votes
     answers
     views

    具有未知属性的接口

    我正在尝试使用frontmatter包中的Unmarshal method来解析markdown文件中的前端问题 . 该功能的类型签名如下 func Unmarshal(data []byte, v interface{}) (err error) 我有字节数据,我知道我需要传递一个带有相应字段的接口/结构作为第二个参数 - 但是我不知道我解析的文件中的字段是什么,这很重要我没有丢失数据 . 在...
  • 1 votes
     answers
     views

    Golang将XML属性解组为接口

    我正在尝试将一些XML解组为具有接口{}类型的结构 . 但是每当我尝试运行它时,代码根本不会提取任何东西 . 所有其他元素似乎工作正常,如果我将类型设置为字符串或[]字节它将工作,但我需要它比这更灵活 . 我感兴趣的元素是 line 32 - FloorRefID https://play.golang.org/p/Ehr8qx1aWf <?xml version="1.0...
  • 23 votes
     answers
     views

    Golang / mgo:为什么mgo不返回插入文档的ID?

    根据文档(http://godoc.org/launchpad.net/mgo/v2),如果使用Upsert方法,则可以获取"Upserted"文档的ID . 还有一个不提供此功能的Insert方法 .这是为什么?如果我想执行Insert而不是Upsert怎么办? (或者不会开始怀疑 . )
  • 19 votes
     answers
     views

    使用带golang的mgo无法检索“_id”值

    这是我的结构定义: type Article struct { Id bson.ObjectId `json:"id" bson:"_id,omitempty"` Title string `json:"title"` Author string `json...
  • 1 votes
     answers
     views

    Windows和Linux上mgo驱动程序对ObjectID的不同处理

    我使用mgo驱动程序开发Go代码以使用MongoDB . 首先我在Windows计算机上开发它,它工作得很好(在同一台Windows计算机上安装Mongo DB) . 然后我将源代码复制到具有自己的MongoDB安装的Linux机器上,在那里构建它,它不起作用 . 问题是它如何从数据库中读取对象“_id” . 在Windows上,它是正常的12字节ObjectId,与此类似(使用bson.Obje...
  • 3 votes
     answers
     views

    使用mgo驱动程序在golang中进行mongo聚合查询

    我在mongodb中有以下查询 - db.devices.aggregate({ $match: {userId: "v73TuQqZykbxFXsWo", state: true}}, { $project: { userId: 1, categorySlug: 1, weight: { $cond: [ {&quo...
  • 1 votes
     answers
     views

    使用mgo驱动的Golang app服务器和mongodb副本设置从属节点:连接太多

    使用mongodb副本集来服务我的应用服务器时,我遇到了一个问题,即4个应用服务器和2个mongo从节点之间的TCP连接持续增加,直到2个mongo从节点停止服务 . 环境 操作系统:Ubuntu 14.04 64位,适用于mongodb服务器和应用服务器 mongodb:v3.0.9,副本设置为1个主设备,2个从设备和1个仲裁设备 app:4个服务器集群,由golang编写,带有mo...
  • 9 votes
     answers
     views

    使用[]字符串字段时出现无法比较的类型错误(Go lang)

    我有一个特定的Go lang结构对象,我正在与之交互,我希望它与自己相等 . 我将函数传递给一个只返回它的函数,但是通过接受接口{}输入/输出来实现它 type Animal struct { name string food interface{} } type YummyFood { calories int } func echo_back(input inter...
  • 1 votes
     answers
     views

    PANIC =运行时错误:索引超出范围

    我有以下代码,但我无法弄清楚为什么错误: PANIC=runtime error: index out of range is happening type Board struct { Tboard [9]string Player1 Player Player2 Player } func makeBoard() *Board { b := &Boar...
  • 20 votes
     answers
     views

    恐慌:运行时错误:Go中的索引超出范围

    我有以下函数从终端获取命令并根据输入打印一些东西 . 看起来很简单,如果用户键入'add',系统会打印一行,如果用户没有输入任何内容,则会打印其他内容 . 每当用户输入添加时,它都有效 . 如果用户没有输入它抛出的任何内容 恐慌:运行时错误:GoLang中的索引超出范围 为什么是这样? func bootstrapCmd(c *commander.Command, inp []string) er...
  • 2 votes
     answers
     views

    panic:运行时错误:切片范围超出范围

    我正在学习本教程:https://gobyexample.com/slices 我在中间: package main import "fmt" func main() { s := make([]string, 3) fmt.Println("emp:", s) s[0] = "a" s[1] = ...

热门问题