首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用mongocxx驱动程序将GUID作为bsoncxx::types::b_oid附加到文档中?

如何使用mongocxx驱动程序将GUID作为bsoncxx::types::b_oid附加到文档中?
EN

Stack Overflow用户
提问于 2017-08-09 02:20:54
回答 1查看 557关注 0票数 0

我已经用旧的驱动程序做了一些工作,现在我正在升级到新的驱动程序。但是我遇到了一个问题。我正在尝试将GUID附加到基本文档,但在新的驱动程序中,只允许12字节长度的二进制数据。在传统驱动程序中,它接受16字节的数据,并将GUID转换为16字节。可以将GUID转换为长度为12的字节数组吗?

代码语言:javascript
运行
AI代码解释
复制
typedef struct _GUID {
    unsigned long  Data1;
    unsigned short Data2;
    unsigned short Data3;
    unsigned char  Data4[ 8 ];
} GUID;

GUID插入代码:

代码语言:javascript
运行
AI代码解释
复制
void insert_guid(std::string name, const GUID& guid)
{
    convertGUIDtoBinary( guid, binaryGuidData );    //Can't convert to 12 byte. It will convert to 16 byte length

    bsoncxx::types::b_oid oId;
    oId.value = bsoncxx::oid(binaryGuidData, 12);   //How to make it 12 byte length?

    bsoncxx::builder::basic::document  _builder;

    _builder.append(kvp(name, oId));

}

请,如果有人能帮我,谢谢..

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-09 19:34:45

您不能对16字节的GUID使用b_oid,因此请使用b_binary类型。如果您确定您的UUID是符合RFC4122的(每个字段中的大端),并且您希望将它们与其他二进制数据区分开来,那么您可以使用二进制子类型k_uuid。或者,您可以只使用二进制子类型k_binary。这对MongoDB来说并不重要--只有当您的应用程序关心它时,它才是重要的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45580682

复制
相关文章
如何使用ReconAIzer将OpenAI添加到Burp中
ReconAIzer是一款功能强大的Burp Suite扩展,该工具基于Jython开发,可以为Burp Stuite添加OpenAI能力,并利用OpenAI来优化和增强渗透测试过程中的网络侦查任务。该工具专为漏洞猎人和渗透测试人员设计,支持以自动化的形式执行多种网络安全任务,可以帮助广大安全研究人员以简单快速的形式识别和利用漏洞。
FB客服
2023/08/08
3830
如何使用ReconAIzer将OpenAI添加到Burp中
如何将HTML字符转换为DOM节点并动态添加到文档中
将字符串动态转换为DOM节点,在开发中经常遇到,尤其在模板引擎中更是不可或缺的技术。 字符串转换为DOM节点本身并不难,本篇文章主要涉及两个主题:<br />
用户1631416
2018/09/14
7.7K0
如何将HTML字符转换为DOM节点并动态添加到文档中
将hello程序作为驱动程序编译进系统内核
恩,可能是我比较愚钝,一个内核编译搞了一天,各种问题,各种bug,几度无奈,也是因为我突发奇想,并没有按照原来的那种操作,我直接把helloworld程序放到内核模块中编译成了一个驱动程序,虽然其中遇到了不知道多少的问题,不过最终是个完美的结局,给自己点个赞! 好了,废话不多说,直接开始还原我的helloworld驱动内核程序编译流程。
roobtyan
2019/02/21
1.6K0
将hello程序作为驱动程序编译进系统内核
微软考虑将Python作为官方脚本语言添加到Excel中?
https://www.bleepingcomputer.com/news/microsoft/microsoft-considers-adding-python-as-an-official-scripting-language-to-excel/
HuangWeiAI
2020/05/04
1.9K0
将oracle驱动包加到maven中
2、确认maven环境变量已整确(cmd 中执行 mvn -v 显示maven的版本信息);
qubianzhong
2018/08/10
5090
Debug EOS:nodeos + mongo_db_plugin
nodeos开始运行前,要先使用项目的总CmakeList.txt配置,这里我配置了boost库的位置,如果你配置了boost的环境变量可以跳过这里。
文彬
2018/09/19
2.1K0
Debug EOS:nodeos + mongo_db_plugin
【刘文彬】 Debug EOS:nodeos + mongo_db_plugin
原文链接:醒者呆的博客园,https://www.cnblogs.com/Evsward/p/storage.html
圆方圆学院
2018/12/07
1.4K0
eos源码赏析(二十四):主网数据同步及落库MongoDB
对于eos源码有一定了解的同学应该知道,整个eos架构是插件化的,这样更好的降低了整个软件系统的耦合性,也使得各个插件之间交互的顺畅。我们在前面的文章中多次提到了producer_plugin(用于出块等功能)、history_plugin(用于查询等功能)、chain_plugin(命令行相关的操作等功能),还有两个很关键的插件我们没有介绍到,即net_plugin和mongo_db_plugin。net_plugin和区块数据的广播以及主网数据的同步有关,mongo_db_plugin用于存储区块、交易等信息,今天我们结合主网数据同步并落库到MongoDB的过程来简单的分析下这两个插件的使用。
用户2569546
2021/11/23
4990
Vue 中,如何将函数作为 props 传递给组件
作者:Michael Thiessen 译者:前端小智 来源:medium 点赞再看,养成习惯本文 GitHub https://github.com/qq44924588... 上已经收录,更多往
前端小智@大迁世界
2020/05/18
8.4K0
Nexus高级配置之如何将本地jar添加到Nexus中
Java后端技术所推送文章,为本人原创、网上收集或其他作者投稿,对于网上收集部分除非确实无法确认,我们都会注明作者和来源。部分文章推送时未能与原作者取得联系。若涉及版权问题,烦请原作者联系我们,我们会在24小时内删除处理,谢谢!^_^ QQ:1573876303。
Java后端技术
2018/08/09
2.8K0
Nexus高级配置之如何将本地jar添加到Nexus中
如何在Ubuntu 14.04上使用memcached将NoSQL查询添加到MySQL
在许多优秀的文章中已经描述了使用memcached及其独立服务器实现与MySQL的一般概念,但是,作为独立服务器的memcached在MySQL客户端访问层之前充当中介,并且仅在内存中管理信息,而无需持久存储它。这使得它适用于缓存重复MySQL查询结果等任务。这样可以节省资源并优化繁忙站点的性能。
黑色技术
2018/09/19
1.9K0
Python - 如何将 list 列表作为数据结构使用
使用 collections.deque ,它被设计成可以快速从两端添加或弹出元素
小菠萝测试笔记
2021/07/29
2.2K0
Python - 如何将 list 列表作为数据结构使用
SpringBoot 中如何使用SwaggerAPI接口文档?
随着互联网技术的不断发展,网站项目架构基本都是前后端分离了,原来需要后端渲染数据展示,现在只需要提供Restful风格的Api接口给前端或移动端。这样API文档便成为了前后端开发人员联系的纽带。这就引入了一个新的问题:如何提供一个灵活高质量的API文档给多个开发人员或者团队?
AI码真香
2022/09/13
1.6K0
SpringBoot 中如何使用SwaggerAPI接口文档?
Java中如何使用帮助文档(API)
  5:第一步:看包     java.lang包下的类不需要导入,其他的全部需要导入。     要导入:     java.util.Scanner
黑泽君
2018/10/11
4.9K0
如何将MV中的音频添加到EasyNVR中做直播背景音乐?
EasyNVR已经支持自定义上传音频文件,可以做慢直播场景使用,前两天有一个开发者提出一个问题:想把一个MV中的音频拿出来放到EasyNVR中去做慢直播。
EasyNVR
2021/10/28
4.2K0
如何将MV中的音频添加到EasyNVR中做直播背景音乐?
如何将WebRTC播放协议添加到EasyCVR?
自2020年浏览器的发展和兼容性发生了变化,WebRTC的延时性、安全性得到了提升和保护,尤其是疫情爆发后,实时视频的需求比之前增长了30倍,这更刺激了WebRTC产品的持续快速发展。因此我们也在EasyGBS、EasyDSS等平台内实现了WebRTC协议的播放。
TSINGSEE青犀视频
2021/11/23
1.5K0
RavenDB 文档建模--使用 RavenDB 作为键/值存储
RavenDB 非常适合键/值存储,为了确保快速存取数据库,RavenDB 在设计的时候降低了存储和加载文档的成本,这是 RavenDB 和其他数据库相比最大的有点。 由于数据限制必须是 JSON ,因此使用 RavenDB 作为键/值存储是完全没问题的。使用 RavenDB 缓存信息的常见场景有:存储购物车信息、存储用户会话数据、缓存热点数据等等。在默认情况下,RavenDB 不会对存储以及加载文档增加额的外成本,因此可以使用所有访问模型中最简单的快速数据库。一般来说键/值建模的复杂性在于生成适当的键以及可以对其执行哪些操作。在使用 RavenDB 作为键/值存储的情况下,下面所列的内容是很有用的:
喵叔
2022/03/22
6810
如何手动将消息添加到Linux系统日志文件
日志文件是包含系统本身已记录的一组记录(或事件列表)的文件。使用日志文件,系统管理员可以跟踪在特定日期或特定时间发生的情况。管理员通常将日志文件用于故障排除。日志文件是自动生成的,并保存在公共目录-/ var / log /下。我们还可以将消息手动添加到Linux系统日志文件中。例如,设置日志服务器后,您可能要检查日志服务器是否正常运行。为此,我们可以在日志文件中手动添加一些条目以测试日志服务器。这是logger命令派上用场的地方。
用户6543014
2020/02/21
2.4K0
翻译qmake文档(四) Building Common Project Types
本章原英文文档:http://qt-project.org/doc/qt-5/qmake-common-projects.html 构建常见的项目类型      本章描述如何设置基于Qt的应用程序、库和插件的三种常见项目类型的qmake项目项目文件。虽然所有的项目类型使用大量相同的变量,但是它们中的每一个都使用项目特定的变量来自定义输出文件。      这里不会描述特定于平台的变量。更多详细修改请查看  Qt for Windows - Deployment 和 Qt for Mac OS X. 绑定一个应
lpxxn
2018/01/31
9480
使用python将word文档转换为PDF文档
对于windows系统的编程开发,微软一开始提供了基于VB语言的接口,后来又推出了.NET框架。对于word等offices套件的自动化操作,由于原生支持的特性,采用这些语言是最为方便且灵活的,唯一的缺点就是这些语言的学习成本相对较高。
生信修炼手册
2020/12/11
7.1K1

相似问题

如何获取"bsoncxx::v_noabi::types::bson_value::view“格式的mongocxx gridfs id

157

将OID (types::b_oid)作为MongoDB C++驱动程序中的字符串

15

[bsoncxx ]如何将bsoncxx::document::element附加到bsoncxx::builder::basic::document?

22

有没有办法使用mongocxx驱动程序将本地bson文档添加到mongodb?

13

如何使用Mongocxx将集合加入到文档中

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文