文档章节

perl操作MongoDB

o00o
 o00o
发布于 2017/03/28 16:13
字数 303
阅读 43
收藏 0

安装MongoDB驱动支持perl

参考

vim packages.txt

Data::Types
DateTime
DateTime::Tiny
ExtUtils::MakeMaker
File::Slurp
File::Temp
FileHandle
JSON
Test::Exception
Test::Warn
Tie::IxHash
Try::Tiny
boolean
ExtUtils::MakeMaker
Class::Method::Modifiers
DateTime
Digest::MD5
Moose
Tie::IxHash
XSLoader
MongoDB

然后安装cpanm,可以解决依赖。

cat packages.txt | cpanm

perl操作MongoDB

参考

其他

存储json数组数据

#!/usr/bin/perl
use strict;
use warnings;
use 5.010;
use diagnostics;
use JSON;
use Encode;
#use URI::Escape;
use Data::Dumper;
use MongoDB ();

require("getcfg.pl");

my($cfgPath,$funcFile) = @ARGV;
my $json = new JSON;
my $host;
my $database;

# 读取配置
sub loadCfg{
        $host = &getcfg($cfgPath, "MongoDB", "host");
        $database = &getcfg($cfgPath, "MongoDB", "database");
}

sub cache{
        my $client = MongoDB::MongoClient->new(host => $host, port => 27017);
        my $db = $client->get_database($database);

        my $collection = $db->get_collection($funcFile);
        open(OUT, $funcFile) or die $!;
        while(<OUT>){
                my $obj = $json->decode($_);
                #say "json数据为:".Dumper($obj);

                for my $item(@{$obj->{'results'}}){
                        say "开始缓存json数据"."$item";
                        #utf8::encode($item);
                        $collection->insert_one($item);
                }
        }
        close OUT;
}

&loadCfg;
&cache;

连接副本集测试: 参考1 参考2

#!/usr/bin/perl

use strict;
use warnings;
use MongoDB ();
use Data::Dumper qw(Dumper);

my $client = MongoDB::MongoClient->new(host => 'mongodb://172.19.238.62:27017,172.19.238.63:27017,172.19.238.64:27017', replica_set_name => 'replication',);
my $db = $client->get_database( 'example_' . $$ . '_' . time );

my $people_coll = $db->get_collection('people');
$people_coll->insert_one( {
    name => 'First',
});
$people_coll->insert_one( {
    name => 'Second',
});
my $people = $people_coll->find;
while (my $p = $people->next) {
    print Dumper $p;
}

$db->drop;

© 著作权归作者所有

o00o
粉丝 2
博文 97
码字总数 47176
作品 0
武汉
其他
私信 提问
MongoDB 将弃用 Perl 驱动,Perl 还能行吗?

由于使用者过少,MongoDB 宣布弃用 Perl 驱动。 MongoDB 高级产品经理 Scott L'Hommedieu 表示,在过去几年中,团队调查了用户群体,并与使用 Perl 驱动的公司进行交流,得到的反馈是,用户对...

oschina
08/28
4.8K
17
mongodb备份与恢复(下)—ttlsa教程系列之mongodb(九)

一. 适用于mongodb任何架构(standalon、replic set、sharding)备份脚本 需要安装perl的MongoDB模块,安装方法参见:使用cpanm安装perl相关模块 http://www.ttlsa.com/html/2030.html 。代码这...

90后爱国
2014/09/15
41
0
BeginnersBook MongoDB 教程

来源:ApacheCN BeginnersBook 翻译项目 译者:飞龙 协议:CC BY-NC-SA 4.0 贡献指南 本项目需要校对,欢迎大家提交 Pull Request。 请您勇敢地去翻译和改进翻译。虽然我们追求卓越,但我们并...

ApacheCN_飞龙
前天
11
0
mongodb备份与恢复(下)

一. 适用于mongodb任何架构(standalon、replic set、sharding)备份脚本 需要安装perl的MongoDB模块,安装方法参见:使用cpanm安装perl相关模块 http://www.ttlsa.com/html/2030.html 。代码这...

NorthBoy
2013/09/03
899
0
视觉中国潘凡谈MongoDB应用实践

受访人 潘凡 采访人 黄玲艳 发布于 2011年8月25日 概要 本次采访中,来自视觉中国的技术总监兼架构师潘凡分享了视觉中国网站在技术选型中的一些经验,根据网站业务需求及数据量,最终选择Mon...

zjf_sdnu
2011/10/15
452
0

没有更多内容

加载失败,请刷新页面

加载更多

nginx学习笔记

中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯。 是连接两个独立应用程序或独立系统的软件。 web请求通过中间件可以直接调用操作系统,也可以经过中间件把请求分发到多...

码农实战
今天
5
0
Spring Security 实战干货:玩转自定义登录

1. 前言 前面的关于 Spring Security 相关的文章只是一个预热。为了接下来更好的实战,如果你错过了请从 Spring Security 实战系列 开始。安全访问的第一步就是认证(Authentication),认证...

码农小胖哥
今天
10
0
JAVA 实现雪花算法生成唯一订单号工具类

import lombok.SneakyThrows;import lombok.extern.slf4j.Slf4j;import java.util.Calendar;/** * Default distributed primary key generator. * * <p> * Use snowflake......

huangkejie
昨天
12
0
PhotoShop 色调:RGB/CMYK 颜色模式

一·、 RGB : 三原色:红绿蓝 1.通道:通道中的红绿蓝通道分别对应的是红绿蓝三种原色(RGB)的显示范围 1.差值模式能模拟三种原色叠加之后的效果 2.添加-颜色曲线:调整图像RGB颜色----R色增强...

东方墨天
昨天
11
1
将博客搬至CSDN

将博客搬至CSDN

算法与编程之美
昨天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部