”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 为什么mgo.findid()无法使用十六进制对象ID检索文档?

为什么mgo.findid()无法使用十六进制对象ID检索文档?

发布于2025-03-23
浏览:639

在Golang中使用MONGODB操作时,开发人员可能会遇到iDID方法的问题,使用MOGO库进行MongoDB操作时,使用MGO库进行MONGO库时,使用MGO Library进行MONGODB操作时,使用MGO Library进行MOGO Library时,将MOGO库时可能会遇到ID ID的问题。从以下代码段及其输出中可以明显看出这个问题:Why Does mgo.FindId() Fail to Retrieve Documents with a Hexadecimal Object ID? 
session.SetMode(mgo.monotonic,true) coll:= session.db(“ aaaw_web”)。c(“ cron_emails”) 变量结果 fmt.printf(“%v”,messages.ID) err = coll.findid(bson.objectId(messages.id))。一个(&result) fmt.printf(“%v”,结果) fmt.println(err)

595F2C1A6EDCBA0619073263 {ObjectIdhex(“”)0 0 0 0 0 {0 false 0} 0 0 0 0 0 0 0 0 0} objectids必须恰好长12个字节(获得24) 找不到

,尽管MongoDB中存在的文档,但代码未能检索它。要解决此问题,了解mongodb中对象ID的性质至关重要。 [umpurpurs] [umpurpurs] [umpurpurpript]

fien firing

created
session.SetMode(mgo.Monotonic, true)
coll := session.DB("aaaw_web").C("cron_emails")
var result Result
fmt.Printf("%v", message.ID)
err = coll.FindId(bson.ObjectId(message.ID)).One(&result)
fmt.Printf("%v", result)
fmt.Println(err)

2 bytes of process identifier

595f2c1a6edcba0619073263
{ObjectIdHex("") 0   0  0    0 {         0    false 0    } 0 0 0  0 0 0 0}
ObjectIDs must be exactly 12 bytes long (got 24)
not found

Converting Hexadecimal String to MongoDB Object ID

In the code snippet provided, the Message.ID的值是对象ID的24个字符十六进制字符串表示。要将此字符串转换为mongodb对象ID,必须使用bson.objectIdhex()函数:

[&& && && && && && && && && && && ur = coll.findid(bson.objectIdhex(message.id))。一个(&result)。利用适当的函数在十六进制表示和对象ID之间进行转换,开发人员可以使用MGO库有效地检索文档。

最新教程 更多>
  • 如何使用node-mysql在单个查询中执行多个SQL语句?
    如何使用node-mysql在单个查询中执行多个SQL语句?
    Multi-Statement Query Support in Node-MySQLIn Node.js, the question arises when executing multiple SQL statements in a single query using the node-mys...
    编程 发布于2025-03-24
  • PHP阵列键值异常:了解07和08的好奇情况
    PHP阵列键值异常:了解07和08的好奇情况
    PHP数组键值问题,使用07&08 在给定数月的数组中,键值07和08呈现令人困惑的行为时,就会出现一个不寻常的问题。运行print_r($月)返回意外结果:键“ 07”丢失,而键“ 08”分配给了9月的值。此问题源于PHP对领先零的解释。当一个数字带有0(例如07或08)的前缀时,PHP将其...
    编程 发布于2025-03-24
  • 如何使用组在MySQL中旋转数据?
    如何使用组在MySQL中旋转数据?
    在关系数据库中使用mySQL组使用mySQL组进行查询结果,在关系数据库中使用MySQL组,转移数据的数据是指重新排列的行和列的重排以增强数据可视化。在这里,我们面对一个共同的挑战:使用组的组将数据从基于行的基于列的转换为基于列。 Let's consider the following ...
    编程 发布于2025-03-24
  • 如何从PHP中的Unicode字符串中有效地产生对URL友好的sl。
    如何从PHP中的Unicode字符串中有效地产生对URL友好的sl。
    为有效的slug生成首先,该函数用指定的分隔符替换所有非字母或数字字符。此步骤可确保slug遵守URL惯例。随后,它采用ICONV函数将文本简化为us-ascii兼容格式,从而允许更广泛的字符集合兼容性。接下来,该函数使用正则表达式删除了不需要的字符,例如特殊字符和空格。此步骤可确保slug仅包含...
    编程 发布于2025-03-24
  • 嵌入如何改善GO中的复杂结构层次结构的实现?
    嵌入如何改善GO中的复杂结构层次结构的实现?
    在GO Understanding Empty MethodsWhile not essential, empty methods serve two key purposes:Type Assertion: They force Go's type system to check tha...
    编程 发布于2025-03-24
  • 如何在字符串中可靠地计算子字符串的发生?
    如何在字符串中可靠地计算子字符串的发生?
    在字符串尝试确定字符串中的substrences时,在搜索搜索算法失败时会出现常见问题时,会出现。要纠正这一点,必须解决以下内容:考虑提供的示例,其中的目标是计算字符串“ hello”中的“ hello” helloslkhellkhellkhellkhellodjladfjhello。使用索引方...
    编程 发布于2025-03-24
  • 在细胞编辑后,如何维护自定义的JTable细胞渲染?
    在细胞编辑后,如何维护自定义的JTable细胞渲染?
    在JTable中维护jtable单元格渲染后,在JTable中,在JTable中实现自定义单元格渲染和编辑功能可以增强用户体验。但是,至关重要的是要确保即使在编辑操作后也保留所需的格式。在设置用于格式化“价格”列的“价格”列,用户遇到的数字格式丢失的“价格”列的“价格”之后,问题在设置自定义单元格...
    编程 发布于2025-03-24
  • 如何在JavaScript对象中动态设置键?
    如何在JavaScript对象中动态设置键?
    在尝试为JavaScript对象创建动态键时,如何使用此Syntax jsObj['key' i] = 'example' 1;不工作。正确的方法采用方括号: jsobj ['key''i] ='example'1; 在JavaScript中,数组是一...
    编程 发布于2025-03-24
  • 如何使用FormData()处理多个文件上传?
    如何使用FormData()处理多个文件上传?
    )处理多个文件输入时,通常需要处理多个文件上传时,通常是必要的。 The fd.append("fileToUpload[]", files[x]); method can be used for this purpose, allowing you to send multi...
    编程 发布于2025-03-24
  • \“(1)vs.(;;):编译器优化是否消除了性能差异?\”
    \“(1)vs.(;;):编译器优化是否消除了性能差异?\”
    答案: 在大多数现代编译器中,while(1)和(1)和(;;)之间没有性能差异。编译器: perl: 1 输入 - > 2 2 NextState(Main 2 -E:1)V-> 3 9 Leaveloop VK/2-> A 3 toterloop(next-> 8 last-> 9 ...
    编程 发布于2025-03-24
  • 在PHP中生成随机密码时,如何修复数组返回和字符重复问题?
    在PHP中生成随机密码时,如何修复数组返回和字符重复问题?
    在php中生成一个随机密码:解决阵列返回和字符重复问题原始代码: = $ alphabet [$ n]; } 返回$ pass; } 阵列返回问题:代码返回数组而不是字符串,因为您将字符分配给数组$ pass。 To rectify this, declare $pass as a...
    编程 发布于2025-03-24
  • 如何从C#中的DateTime对象中剥离时间?
    如何从C#中的DateTime对象中剥离时间?
    [2 从C#DateTime对象删除时间信息 问题: 如何仅从C#中的DateTime对象中提取日期组件,丢弃时间信息? 解释: 解决方案: 最简单,最有效的方法利用属性: dateTime dateAndTime = dateTime.now; dateTime dateonly = dateA...
    编程 发布于2025-03-24
  • 如何为PostgreSQL中的每个唯一标识符有效地检索最后一行?
    如何为PostgreSQL中的每个唯一标识符有效地检索最后一行?
    postgresql:为每个唯一标识符在postgresql中提取最后一行,您可能需要遇到与数据集合中每个不同标识的信息相关的信息。考虑以下数据:[ 1 2014-02-01 kjkj 在数据集中的每个唯一ID中检索最后一行的信息,您可以在操作员上使用Postgres的有效效率: id dat...
    编程 发布于2025-03-24
  • 如何配置Pytesseract以使用数字输出的单位数字识别?
    如何配置Pytesseract以使用数字输出的单位数字识别?
    Pytesseract OCR具有单位数字识别和仅数字约束 在pytesseract的上下文中,在配置tesseract以识别单位数字和限制单个数字和限制输出对数字可能会提出质疑。 To address this issue, we delve into the specifics of Te...
    编程 发布于2025-03-24
  • 如何在php中使用卷发发送原始帖子请求?
    如何在php中使用卷发发送原始帖子请求?
    如何使用php 创建请求来发送原始帖子请求,开始使用curl_init()开始初始化curl session。然后,配置以下选项: curlopt_url:请求 [要发送的原始数据指定内容类型,为原始的帖子请求指定身体的内容类型很重要。在这种情况下,它是文本/平原。要执行此操作,请使用包含以下标头...
    编程 发布于2025-03-24

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3