将mongodb _id转换为字符串perl

时间:2017-08-29 17:25:23

标签: mongodb perl

尝试获取mongodb _id字段的guid / string表示。

我使用MongoDB Perl模块,当我打印$cursor->{'_id'}时,它看起来像一堆特殊字符(╪«añσ%CñQ)。

Dumper说它实际上是一个哈希:

$VAR1 = bless( {
                 'data' => '╪«añσ%CñQ
ô╢_ú',
                 'subtype' => 3
               }, 'MongoDB::BSON::Binary' );

问题是,数据字段似乎不是我可以转换为字符串的东西,我一直无法找到有关如何使用Perl执行此操作的任何信息。 Mongo版本是:3.2.5。

最后,我真正想要的是能够完成等同于select column from table where _id = (select id from other table where name = bla)的mongo。

1 个答案:

答案 0 :(得分:0)

来自_id哈希对象的'data'值最终是来自Mongo _id字段的值作为.NET guid。通过将Robo 3T中的“Legacy UUID Encoding”更改为“使用.NET编码”然后在_id哈希对象上使用Data :: UUID.to_string()方法,我能够看到perl和Robo之间匹配的值3T并按照find方法使用_id对象按预期工作。